есть 2 таблицы:
option - id, name
page_option - id, option_id, lang_id, value
Связи в моделе option сделал:
public function getPageOption()
{
return $this->hasOne(PageOption::className(), ['option_id' => 'id']);
}
Все находит, все работает, но не могу понять, как работать с формой, если у нас табличный ввод?
вот форма:
.. active form begin
foreach ($options as $index => $option) {
echo $form->field($option, "[$index]pageOption[value]")->label($option->name);
}
.. active form end
Выводит, но только id и name у всех этих полей одинаковое:
pageOption[value]
и как работать с этим, непонятно
UPD, с вывобод разобрались, теперь проблема в сохранении связанных данных:
controller/action:
public function actionUpdate()
{
$options = Options::find()->with('pageOptions')->indexBy('id');
if (Model::loadMultiple($options , \Yii::$app->request->post()) && Model::validateMultiple($options)) {
foreach ($options as $option) {
$setting->save(false);
}
}
return $this->render('index', compact("options"));
}
В итоге:
Model::loadMultiple($options , \Yii::$app->request->post()) - true
но связанные данные не обновились, выходит в них не загружаются новые данные
Подскажите пожалуйста, я явно делаю что-то не так