我在Film
和Performer
型号之间建立了关系。
电影模型:
public function Performers()
{
return $this->belongsToMany('App\Performer');
}
表演者模特:
public function Films()
{
return $this->belongsToMany('App\Films');
}
如果我要手动添加数据,我已经创建了表film_performer
并且关系正常工作。
我在发送表单后将数据保存到film_performer
时遇到问题。
进入控制器我附上它。
$film->performers()->attach($request->performers);
我没有任何错误。我使用dd($request)
检查数组执行者,一切正常
答案 0 :(得分:1)
将$request->performers
更改为$request->performers->pluck('id')
:
$film->performers()->attach($request->performers)
attach
方法需要一组id。
https://laravel.com/docs/5.5/eloquent-relationships#updating-many-to-many-relationships
为方便起见,附加和分离也接受ID数组作为输入:
$ user = App \ User :: find(1);
$ user-> roles() - > detach([1,2,3]);
$用户>角色() - >附加([ 1 => ['expires'=> $过期] 2 => ['expires'=> $过期] ]);