【Laravel】複数選択した画像を削除したい

前提

チェックボックスでチェックをつけたidの画像を削除したいと思っています。

発生している問題・エラーメッセージ

現在のコードでは画像が削除されません。

```index.blade.php <form action="{{ route('admin.product.delete') }}" method="POST"> @csrf <ul class="product_list"> @foreach ($products as $product) <li> <input type="checkbox" class="check_del" name="id[]" id="{{$product->id}}" value="{{$product->id}}" disabled> <label for="{{$product->id}}"> <img src="{{ asset('storage/images/'.$product->image) }}"> <div class="card_body"> <p class="title">{{ $product->name }}</p> <p class="price">¥{{ number_format($product->price) }}</p> </div> <a href="{{ route('admin.product.edit', $product->id) }}">編集</a> </label> </li> @endforeach </ul> <div class="fix_menu"> <a class="bt_add" href="{{route('admin.product.add')}}"> <span class="material-icons-outlined">add_circle</span> </a> <button type="submit" class="bt_delete" disabled> <span class="material-icons-round">delete_forever</span> </button> </div> </form>

ProductController.php

public function delete(Request $request) { $id = array($request->id); for($i=0; $i<count($id); $i++){ $image = Product::find($id[$i],['image']); $image = $obj->image; Storage::delete('public/images/' . $image); Product::destroy($id[$i]); } return redirect('/admin/product')->with('products', Product::get()); }

チェックボックスで取得した値のidのimageカラムの画像ファイルを削除したいです。

コメントを投稿

0 コメント