这是我的控制器方法:
public function store(Request $request, $course_id){
$price['value'] = $request->price;
$price['desc'] = $request->desc;
If ($request->promo === "on") {
$price['promo'] = 1;
} else {
$price['promo'] = 0;
}
$course = Course::find($course_id);
Price::create($price)->courses()->save($course);
return redirect('/course/'.$course_id.'/edit');
}
例如,如果我的请求var有:
$request->price = 100
$request->desc = 'blablabla'
$request->promo = 'on'
提交表单后,我得到了两个具有相同数据的新行:
表价格:
id | price | desc | promo
1 | 100 | blablabla | on
2 | 100 | blablabla | on
模型的一些信息,我:
public function courses () {
return $this->belongsToMany('App\Course', 'course_price');
}
在价格模型和:
public function prices () {
return $this->belongsToMany('App\Price', 'course_price');
}
在课程模型中。
怎么了?
答案 0 :(得分:0)
尝试attach:
$price = Price::create($price);
$price->courses()->attach($course_id);
而不是:
$course = Course::find($course_id);
Price::create($price)->courses()->save($course);
答案 1 :(得分:0)
看起来你在
上提出了双重要求Price::create($price)->courses()->save($course);
创建并保存。 请使用
尝试您的代码Price::create($price)->courses();