Как в Yii2, при отсутсвие связанной модели, создать пустую на ее место?
Есть модель. В ней есть связь HAS_ONE.
Нужно редактировать все поля модели и ее связей в одной форме.
Если данные есть, то все ок. Если же мы создаем новый объект, то и связанных данных у нее нет. При этом нельзя написать $model->children = new Childrens(); как я это успешно делал в первом yii, так как переменная children рид-онли.
Писать кучу оберток типа создания левой переменной, записывания данных из формы в нее, кучи условий и тд и тп не очень хочется.
Есть адекватное решение или придется все-таки городить кучу лишнего кода?
В yii2 связь не сможет произойти, если обе модели не имеют первичного ключа. Поэтому только через создание свойства основной модели. UPDATE
Можно у основной модели написать сеттер setChildren и через него записывать в приватное свойство $childrenRelation основной модели. В afterSave просто через метод link() связать модели. Тогда в контроллере для Вас всё должно выглядеть также просто, как и в yii1, просто $model->children = new Childrens();.
Сеттер делал - не получилось, поэтому написал вопрос. Сейчас проверил все. В модели правило было кривое и не сохранялась связанная модель. Спасибо еще раз )