Присоединиться к мульти созданию в Laravel? - PullRequest
0 голосов
/ 10 февраля 2019

Я хотел бы добавить новые записи сразу в 3 таблицы.Есть ли какое-либо решение использовать одно создание или объединение трех таблиц?

В SingleController.php:

$single = Single::create([
                    'structure_id' => $request->structure_id,
                    'user_id' => auth()->id(),
                ]);

$structure = Structure::create([
                    'name' => $request->name,
                ]);

$placement = Placement::create([
                    'structure_id' => $request->structure_id,
                    'seed' => $request->seed,
                ]);

В модели Structure.php:

public function singles()
{
    return $this->hasMany(Single::class);
}

public function placements()
{
    return $this->hasMany(Placement::class);
}

1 Ответ

0 голосов
/ 10 февраля 2019

После создания Structure вы можете сделать так:

$structure->singles()->create({
    'structure_id' => $request->structure_id,
    'user_id' => auth()->id(),
})

$structure->placements()->create({
    'structure_id' => $request->structure_id,
    'seed' => $request->seed,
})

Следуйте Документам

...