加盟Laravel多创造?

问题描述 投票:0回答:1

我想一次在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);
}
laravel-5 sql-insert jointable
1个回答
1
投票

创建Structure后,你可以这样做:

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

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

按照Docs

© www.soinside.com 2019 - 2024. All rights reserved.