Laravel 5 — Обновление полиморфных отношений

У меня полиморфная связь между моделями Image и Product.

Модель изображения:

class Image extends Model {

protected $table = 'images';

public function imageable()
{
return $this->morphTo();
}
}

Модель продукта:

class Product extends Model {

protected $table = 'products';

public function images()
{
return $this->morphMany('App\Image', 'imageable');
}
}

Каждый продукт имеет 3 изображения (фотографии), поэтому, когда я редактирую продукт и редактирую только 1 изображение, то …

Как я могу определить, какое изображение было отредактировано для его обновления?

Метод обновления контроллера продукта:

public function update($id, CreateProductRequest $request)
{
\DB::transaction(function() use ($id, $request)
{
$product               = Product::find($id);
$product->name         = $request->name;
$product->description  = $request->description;
$product->price        = $request->price;

//Images upload
//HERE I NEED TO KNOW WHICH IMAGE WAS EDITED TO UPDATE IT ON IMAGES TABLE

$product->save();
});

session()->flash('message', 'Product updated successfully');

return redirect()->action('ProductController@index');
}

Посмотреть структуру:

<div class="form-group">
<label class="col-md-3 col-xs-12 control-label">Image 1</label>
<div class="col-md-6 col-xs-12">
<input id="photo1" name="images[]" class="file" type="file">
</div>
</div>

<div class="form-group">
<label class="col-md-3 col-xs-12 control-label">Image 2</label>
<div class="col-md-6 col-xs-12">
<input id="photo2" name="images[]" class="file" type="file">
</div>
</div>

<div class="form-group">
<label class="col-md-3 col-xs-12 control-label">Image 3</label>
<div class="col-md-6 col-xs-12">
<input id="photo3" name="images[]" class="file" type="file">
</div>
</div>

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]