Создайте новый экземпляр модели Laravel с дочерними моделями - PullRequest
0 голосов
/ 10 октября 2018

В настоящий момент, когда мне нужно создать новый экземпляр модели Laravel, у которого есть дочерние модели, мне нужно создать модель в контроллере, затем перебрать все дочерние элементы, пока они еще находятся в контроллере, и подключить их кродительская модель.Модель способна экспортировать себя в массив, который включает ее дочерние элементы, поэтому вы могли бы подумать, что вы сможете импортировать массив и для создания объекта модели.

Можно ли передать массив вМодель Laravel и она тоже автоматически создает своих детей?

1 Ответ

0 голосов
/ 10 октября 2018

Поместите в вашу модель метод, который принимает массив данных дочерних объектов, создает и связывает их.Затем вам нужно только создать основную модель и вызвать для нее дочерний метод create.

class MyModel
{

    ...

    public function createChildren($childData)
    {
        //create and associate children
    }
}

class MyController
{
    ...
    public function create()
    {
        ...
        $myModel = MyModel::create($modelData);
        $myModel->createChildren($childData);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...