環境:Windows10,XAMPP,HeidiSQL
データベース:テーブル名:shyouhin カラム:id,name,price,gazou,updated_at,created_at
データベースにはprofiles/ロレックスサブマリーナ.PNGとstorage>app>profilesには画像がしっかり保存
されております。
その画像を表示させたいのですが、上手くいきません。
表示のやり方をご教授頂ければ幸いです。
【コントローラー】
public function shyouhin(Request $request) { $data = new shyouhin(); $data->name = $request->name; $data->price = $request->price; $uploaded_image = $request->file('gazou'); if($request->hasFile('gazou') && $uploaded_image->isValid()) { $file_name = $request->file('gazou')->getClientOriginalName(); $path = $request->file('gazou')->storeAs('profiles',$file_name); } $data->gazou = $path; $data->save(); $validate_rule = [ 'name' => 'required', 'price' => 'required', ]; $this->validate($request,$validate_rule); return view('shyouhin_add',['msg' => '登録完了致しました。']); } public function shyouhinlist(Request $request) { $items =DB::select('select * from shyouhin'); return view('shyouhin_list',['items' => $items]); }
【ブレード】
<!DOCtYPE html> <html> <head> <meta charset="UTF-8"> <title>ショップ</title> </head> <body> 商品一覧<br /> <br /> <table border="2"> <tr> <th>商品</th> <th>価格</th> <th>画像</th> </tr> <form method="post" action="/shop/delete"> @csrf <tr> <td> @foreach($items as $item) <input type="radio" name="id" value="{{$item->id}}"> {{$item->name}}<br /> @endforeach </td> <td> @foreach($items as $item) {{$item->price}}<br /> @endforeach </td> <td> @foreach($items as $item) <img src = "{{$item->gazou}}"><br /> @endforeach </td> </tr> </table> <br /> <input type = "submit" value="削除" id = "id"> <script> var btn = document.getElementById('id'); btn.addEventListener('click',function() { window.confirm('本当に削除しますか?'); }) </script> </form> <button onclick="history.back()">戻る</button> <a href="/top">業務管理システム</a> </body> </html>
データベースに入れたのは画像ではなく画像のパスですよね。
表現調整願います。
あと、インデントとか、DOCtYPE とか個人的にはすごく気になる。
回答2件
あなたの回答
tips
プレビュー