Actualización de una relación de muchos en laravel 5.3
Quiero actualizar una relación de uno a muchos. Por ejemplo tengo un modelo llamadoProducto
class Product extends Model
{
protected $primaryKey = 'product_id';
public $timestamps = FALSE;
public function Size(){
return $this->hasMany('App\Size');
}
}
y un modelo llamadoTalla
class Size extends Model
{
public $timestamps = FALSE;
protected $fillable = ['product_id','size'];
public function Product(){
return $this->belongsTo('App\Product');
}
Aquí está mi controlador:
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);
}
Pero lo que está haciendo es actualizar todos los registros de tamaño con la identificación del producto seleccionado al último tamaño de entrada. Quiero actualizar todos los tamaños con los diferentes tamaños seleccionados, no los últimos tamaños seleccionados
Cómo actualizar los tamaños de un producto en particular. Al igual que el método de sincronización de muchas relaciones, hay alguna forma de actualizar los registros.