【发布时间】:2017-03-30 05:31:25
【问题描述】:
我想更新一对多关系。例如,我有一个名为 Product
的模型class Product extends Model
{
protected $primaryKey = 'product_id';
public $timestamps = FALSE;
public function Size(){
return $this->hasMany('App\Size');
}
}
还有一个模型叫做Size
class Size extends Model
{
public $timestamps = FALSE;
protected $fillable = ['product_id','size'];
public function Product(){
return $this->belongsTo('App\Product');
}
这是我的控制器:
public function update(Request $request){
for($i = 1; $i <= $sizeCounter; $i++){
$selectedSize = "size_$i";
if($request->$selectedSize){
$array = ['size'=> $request->$selectedSize];
}
}
$Size = Size::where('product_id' , $request->id)->update($array);
}
但是它正在做什么将具有所选产品ID的所有尺寸记录更新为最后一个输入器尺寸。我想用选择的不同尺寸而不是最后选择的尺寸更新所有尺寸
如何更新特定产品的尺寸。像多对多关系的同步方法一样,有什么方法可以更新记录。
【问题讨论】:
标签: php eloquent laravel-5.3 one-to-many updating