OmgDef/yii2-multilingual-behavior

Не сохраняется модель

Closed this issue · 5 comments

Здравствуйте!
Возникла сложность, если в контроллере указать
protected function findModel($id) { if (($model = Post::find()->where(['id' => $id])->localized()->one()) !== null) { return $model; } else { throw new NotFoundHttpException('The requested page does not exist.'); } }
То выбираются и подставляются в зависимости от языка верные значения в поля, но при сохранении не сохраняются. Я так понимаю, для сохранения нужно писать свой behavior? Если указать multilingual(), то сохраняет, но сложность в том, что тогда во view нужно указывать названия атрибутов вида title_en, что затруднит добавление новых языков и их перевод. Подскажите, пожалуйста, что нужно сделать?

luys commented

I suppose you should look at this solution: #46

Здравствуйте, @quinlena! Если я вас правильно понял, то для динамического добавления переводов отдельным моделям, без необходимости наличия фоллбэка на язык по умолчанию, я советую вам использовать расширение https://github.com/creocoder/yii2-translateable

Такая же проблема. Есть ли решение?

try this:
protected function findModel($id) { if (($model = Post::find()->where(['id' => $id])->multilingual()->one()) !== null) { return $model; }
multilingual instead of localized

It works in this way, thanks. But anyway I think should be possibility to use localized() for updating record. I don't want to load all multilingual records, but in fact use only one.