Laravel 使用一个表单在两个表中创建一行。如何添加连接它们的ID?
我使用的是laravel 5.6,我试图在两个不同的表中插入一行,并在Laravel 使用一个表单在两个表中创建一行。如何添加连接它们的ID?,laravel,laravel-5,Laravel,Laravel 5,我使用的是laravel 5.6,我试图在两个不同的表中插入一行,并在公共函数存储()中将它们链接在一起 以下是我所拥有的: public function store(Request $request) { $this->validate($request, [ 'name' => 'required', 'email' => 'required', 'proje
公共函数存储()中将它们链接在一起
以下是我所拥有的:
public function store(Request $request)
{
$this->validate($request, [
'name' => 'required',
'email' => 'required',
'project' => 'required',
'project_type' => 'required',
'budget' => 'required'
]);
$client = new Client;
$project = new Project;
$client->name = $request->input('name');
$client->email = $request->input('email');
$client->save();
$project->project = $request->input('project');
$project->project_type = $request->input('project_type');
$project->budget = $request->input('budget');
$project->save();
return redirect('/admin/clients');
}
我需要做一些事情,比如:
$client->project_id = $project->id;
$project->client_id = $client->id;
但这显然行不通。当这些行尚未创建以访问它们时,我将如何获取这些行的ID?可能吗?如果没有,我会找到一个解决办法,或者用另一种方式
谢谢。如果您创建的表允许项目id和客户端id为空,则在保存客户端和项目后添加以下代码片段:
$client->project_id = $project->id;
$client->save();
$project->client_id = $client->id;
$project->save();
但我建议您在客户机或项目中的另一个表中使用一个外键,但不能同时使用这两个外键
然后,您可以定义雄辩的一对一()关系,以获取另一个表的记录。如果您创建的表允许项目id和客户id为null,则在保存客户机和项目后添加以下代码段:
$client->project_id = $project->id;
$client->save();
$project->client_id = $client->id;
$project->save();
但我建议您在客户机或项目中的另一个表中使用一个外键,但不能同时使用这两个外键
然后,您可以定义雄辩的一对一()关系来获取另一个表的记录。为什么两行都需要对方的ID?为什么两行都需要对方的ID?