Есть 2 модели:Как обновить таблицу Laravel Relation в
Product
и Product_Images
class Product extends Eloquent {
protected $guarded = [];
public $timestamps = true;
public function images(){
return $this->hasMany('product_image');
}
public function brand(){
return $this->belongsTo('brand');
}
}
class Product_Image extends Eloquent {
protected $table = 'product_images';
protected $guarded = [];
public function images(){
return $this->hasMany('product_image');
}
}
я могу сделать обновление или вставка данных в этой модели
$product = new Product;
$product->title = $data['title'];
$product->alias = $data['alias'];
$product->short_description = $data['short_description'];
$product->price = $data['price'];
$product->brand_id = $data['brand_id'];
$product->description = $data['description'];
$product->published = 1;
$product->save();
foreach($data['images'] as $k => $v){
if($data['main'] == $k){
$product->images()->save(
new Product_Image(['image' => $v,'main' => 1])
);
}else{
$product->images()->save(
new Product_Image(['image' => $v,'main' => 0])
);
}
}
но когда пользователи пытаются отредактируйте продукт, пользователи могут удалить существующие изображения и попытаться добавить новые и отправить форму. Каким образом я должен следить за обновлением отношений изображений. Должен ли я удалять все изображения, связанные с продуктом, и создавать новые? это выглядит плохой практикой для меня, есть ли что-нибудь лучше для этого?
Спасибо! я применил ваши изменения и узнал от него хорошую вещь. Тем не менее я не знаю, как обновлять изображения, связанные с продуктами. Должен ли я удалять все изображения и добавлять новые из формы? –