【问题标题】:Laravel - Inserting/Updating Pivot TableLaravel - 插入/更新数据透视表
【发布时间】:2017-03-12 02:38:50
【问题描述】:

我有一个数据透视表employee_project。其中,我有 id、employee_id 和 project_id。

每个项目都有一名客户经理和一名项目经理。因此,在我的表单中,我有名称(用于项目),应该将 id 添加到 project_id,并且我还有 am_id 和 pm_id,它们指的是employee_id。我如何将这些 ID 放入数据透视表中,因为它们的名称与employee_id 不同?

这不起作用:

$p = Project::create($request->all());

$p->employees()->sync(['am_id', 'pm_id']);

我应该做些什么不同的事情?

表结构

--projects  
id  
name  
stage  
status  
timestamps

--employees  
id  
name  
department

--employee_project  
id  
employee_id  
project_id  

【问题讨论】:

  • 请张贴您的表格结构。
  • @TimBiegeleisen 表结构已添加。

标签: php mysql laravel many-to-many pivot-table


【解决方案1】:

命名无关紧要。数组中的值无论如何都是employee_id。 $p->employees()->sync([1,2]); 应该可以工作。 您将am_idpm_id 作为字符串传递?

尝试:

$p->employees()->sync([$request->am_id, $request->pm_id]);

【讨论】:

  • 感谢 Sanzeeb .... 成功了!没有意识到我必须在前面做 $request 。我认为它会自行恢复,但很高兴知道。
猜你喜欢
  • 2021-04-03
  • 1970-01-01
  • 2020-09-19
  • 2016-03-09
  • 1970-01-01
  • 1970-01-01
  • 2018-06-15
  • 1970-01-01
  • 2021-10-03
相关资源
最近更新 更多