自过去两周以来,在使用 laravel 5.2 时,我发现了一种在数据库中存储记录的新方法。
例如
User table
id name
1 Test 1
2 Test 2
Project Table
id user_id name
1 1 Project 1
2 2 Project 2
用户和项目表在外键约束中链接。
为了存储在Project表中,我使用了下面的代码行。
Auth::user()->projects()->save($project);
如果我想将记录存储在任务表中,我可以有类似的解决方案吗? 其中project_id和user_id分别是项目表和用户表的外键约束。
Task Table
id project_id user_id name
1 1 1 test task
最佳答案
如果您已经进行了透视,那么您可以通过以下方式进行:
1 连接时
Auth::user()->projects()->attach([1 => ['name' => $name], 2, 3]);
2 同步时
Auth::user()->projects()->sync([1 => ['name' => $name], 2, 3]);
3 更新枢轴
Auth::user()->projects()->updateExistingPivot($projectId, ['name' => $name]);
供阅读
您可以通过相关模型的集合访问枢轴数据 - 然后找到您感兴趣的模型并获取枢轴
特殊字段:
$project = Auth::user()->projects->find($projectId);
return $project->pivot->name;
您可以到达那里,但只能通过我上面向您展示的方式。
关于php - Laravel 5.2 + 如何在数据库中保存记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37050874/