我在Laravel 5.2中有ManyToMany关系:
用户模型:
public function Lessons(){
return $this->belongsToMany('App\Lesson')->withPivot('created_by', 'number_of_lessons','id');
}
但是,我想在数据透视表中保存多个课程,如下所示:
$output = [];
$output[] = $this->RidingCourses()->wherePivot('created_by',1)->first()->pivot->number_of_lessons = 200;
$output[] = $this->RidingCourses()->wherePivot('created_by',2)->first()->pivot->number_of_lessons = 200;
$this->RidingCourses()->saveMany([$output]);
数据透视记录正在更新,但在数据透视表中也创建了两个空白记录。所以我的问题是,如何正确保存多个ManyToMany相关模型?
答案 0 :(得分:0)
检查'created_by','number_of_lessons','id'是否可以在您的模型中填写? 您是否尝试更新现有记录?
如果这些列可填写且仍然面临相同的问题,则使用save或create方法代替saveMany。
我也遇到了同样的问题,并在Laracast也提出了同样的问题,但还没有得到任何答复。
我认为这是Laravel 5.2中的一个错误。