php - Laravel 5.2 + 如何在数据库中保存记录

标签 php laravel-5

自过去两周以来,在使用 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/

相关文章:

php - Laravel 5 API 授权用于使用 Facebook 进行授权的移动应用程序

php - Laravel Response::download() 在 Laravel 中显示图像

php - 从mysql查询中获取php数组中的结果

php - 如何使用 php5-fpm + nginx timeout php.ini 处理超时

php - Guzzle PUT 请求身份验证错误

php - 如何统计mysql中DATE类型一年重复的次数?

laravel-5 - Laravel 5 带参数的预加载

php - Symfony2 存储库标准文件夹或命名空间

php - 选择整个表内容并插入到具有相同列名的另一个表中

PHP-如何第一次插入表单数据和第二次更新相同的数据