Много текста, а по сути я так понял, что проблема только с отсутствием id у новой модели. Решается она или:
- сразу сохраняем пустые или демо данные, потом уже рендерим форму
- отправляем все одновременно, при этом сохранение связанных данных происходит в afterSave родителя, то есть имена полей дочек типа ParentModelName[someChildModelName][AttrinuteName], соответственно данные через load родителя попадают в публичный атрибут родителя и доступен d afterSave через
$this->someChildModelName
.
Есть метод link, вот:
https://www.yiiframework.com/doc/guide/2.0/ru/db-a...