Привет.
Есть модель с связью:
/**
* This is the model class for table "{{%setting}}".
*
* @property int $id
* @property string $name
* @property int $status
*/
class Setting extends \yii\db\ActiveRecord
{
...
public function getAssign()
{
return $this->hasOne(SettingAssign::className(), ['setting_id' => 'id']);
}
...
}
Модель связи:
/**
* This is the model class for table "{{%setting_assign}}".
*
* @property int $id
* @property int $setting_id
* @property string|null $lang_code
* @property int $value
*/
class SettingAssign extends \yii\db\ActiveRecord
{
//модель без изменений.
}
вывожу форму:
assign - имя связи (hasOne)<?=$form->field($model, "assign[value]")->checkbox();?>
или так:
<?=$form->field($model->assign, "value")->checkbox();?>
Пытаюсь загрузить в модель и в связанную модель:
public function actionIndex()
{
$model = Setting::find()->with('assign')->where(['name' => 'disconnected'])->one();
if( $model->load(\Yii::$app->request->post()) && $model->validate()){
$model->save();
}
return $this->render('_form', ['model' => $model]);
}
Но данные в связанную модель не загружаются, подскажите, почему?
Как правильно загрузить данные в связанную модель?
Я конечно могу сделать так:
$model->assign->load($data);
тогда все загрузится, но не уверен что это правильно.
Подскажите пожалуйста, буду благодарен