Laravel - 使用一对多关系插入多个项目

时间:2014-02-04 13:25:58

标签: php laravel

是否可以通过一对多关系插入多个值,以便使用外键保存多个值。

例如:我有一个'贡献者'数组,用户可以选择添加到项目中 - 保存后我希望这些贡献者被引用到只是已保存的项目。

尝试下面的代码(数组来自$ _POST ['contribrs'],这是复选框) - 它保存数据,但不附加外键。我想避免使用循环,只能批量插入所有这些

$this->project->find($project->id)
      ->contributers()
       ->insert(Input::only('contributers')['contributers']);

1 个答案:

答案 0 :(得分:9)

您可以使用createMany方法(link to source

$project = $this->project->find($project->id);
$project->contributers()->createMany(Input::get('contributers'));

我还提出了一个小型重构:每行一个操作并使用Input::get()代替Input:only(),这是针对其他用例设计的。