我有三张桌子,分别是比赛,比赛和比赛。池。 Rounds表有一个外键tournament_id,Pools表有一个round_id外键。我有一个表格,我可以同时创建一个圆形和一个池。我通常使用$ request将数据添加到数据库使用特定控制器的存储功能。
示例:这是在PoolController中。
public function store(Request $request)
{
$pool = new Pool;
$pool->name = $request->poolName;
// $pool->round_id = $request->Roundname;
$pool->save();
return redirect('/admin');
}
这里我不知道如何处理round_id。按下“创建”按钮时,必须同时创建新轮次和池,并且必须将该轮次ID分配给$ pool-> round_id。
请帮忙吗?
答案 0 :(得分:0)
我终于开始工作了。我为圆形创作做了这个。为此我们需要首先创建锦标赛。然后在Round Controller中我做了以下代码
use App\Round;
use App\Tournament;
public function store(Request $request)
{
$round = new Round;
$round->name = $request->roundName;
$tournament = new Tournament;
$tournamentName = $request->tournamentName;
$tournament = $tournament::where('name', $tournamentName)->firstOrFail();
$tournament->rounds()->save($round);
return redirect('/admin');
}
这里round有一个名为tournament_id的外键。这是如何工作的,当插入新一轮我们正在通过
找到相应的锦标赛$tournament = $tournament::where('name', $tournamentName)->firstOrFail();
然后我们在锦标赛模型中调用关系函数rounds()以在更新外键时保存新一轮
答案 1 :(得分:0)
要保存多个外键,请使用aRRAY
$tournament = [
'document_id' => $tournament->id,
'name' => tournamentName
];