<form>
@foreach($photos as $photo)
<div>
<img src="{{ $photo->url }}" alt="{{ $photo->title }}">
<label>
<input type="checkbox" name="delete-photo[{{ $photo->id }}]">
Resmi Sil
</label>
</div>
@endforeach
<!-- diğer alanlar... -->
</form>
Bu şekilde formun içinde resimleri listelerken bir de silmek için checkbox ekleyin. Checkbox name değerleri dizi olacak ve anahtarları da resim id'si.
Üstteki örnekte delete-photo[2] gibi.
Daha sonra controller yönteminiz içerisinde bu id'leri şu şekilde alabilirsiniz:
Seçilen resimlere göre [2,4,5,7,8] gibi bir dizi elde etmiş olacağız:
$photoIds = array_keys($request->get('delete-photo'));
Diyelim ki resimleri de temsil eden Photo şeklinde bir modeliniz olsun.
Bu resimleri şu şekilde silebilirsiniz:
Photo::destroy($photoIds);
Photo modeli içerisinde de model event ile fiziksel dosyaları sildirirsiniz:
app/Photo.php:
/**
* The "booting" method of the model.
*
* @return void
*/
protected static function boot()
{
parent::boot();
static::deleted(function ($photo) {
File::delete($photo->url);
});
}
gibi.