是否可以通过一对多关系插入多个值,以便使用外键保存多个值。
例如:我有一个'贡献者'数组,用户可以选择添加到项目中 - 保存后我希望这些贡献者被引用到只是已保存的项目。
尝试下面的代码(数组来自$ _POST ['contribrs'],这是复选框) - 它保存数据,但不附加外键。我想避免使用循环,只能批量插入所有这些
$this->project->find($project->id)
->contributers()
->insert(Input::only('contributers')['contributers']);
答案 0 :(得分:9)
您可以使用createMany
方法(link to source)
$project = $this->project->find($project->id);
$project->contributers()->createMany(Input::get('contributers'));
我还提出了一个小型重构:每行一个操作并使用Input::get()
代替Input:only()
,这是针对其他用例设计的。