LaravelにてWebサービスを開発中です。
以前は問題なく画像が投稿できたいたのですが、なぜか突然(?)画像が投稿できなくなってしまいました。
ビューやコントローラーの中身がおかしくなっているのかと確認してみましたが、個人的に、特に怪しい箇所は見受けられませんでした。
lectures/show.blade.php
HTML
1@if ($lecture->image) 2 <figure class="show_post_thumbnail"><div class="new_area-img text-center"><img class="show_image" src="{{ asset('storage/'.$lecture->image) }}"></div></figure> 3@else 4 <figure class="show_post_thumbnail"><div class="new_area-img text-center"><img src="../img/noimage.gif"></div></figure> 5@endif 6```--- 7**LecturesController** 8```PHP 9public function store(Request $request) { 10 11 $this->validate($request, [ 12 'category_name' => 'required', 13 'title' => 'required|max:100', 14 'content' => 'required', 15 ]); 16 17 if($request->file('image')) { 18 $lecture = new Lecture; 19 20 $lecture->user_id = \Auth::id(); 21 $lecture->category_name = $request->category_name; 22 $lecture->title = $request->title; 23 $lecture->content = $request->content; 24 25 // リクエストされた image データ(View側の name)を $images に代入 26 $images = $request->file('image'); 27 28 // foreach で $images に入った画像を $image として別個に取り出す 29 foreach ($images as $image) { 30 31 // UNIXタイムスタンプを取得したものと、ユーザーID、オリジナルの拡張子を取得したものとを繋ぎ、ファイル名として $filename に代入 32 $filename = time() . '_' . $lecture->user_id . '.' . $image->getClientOriginalExtension(); 33 34 // storeAs の第1引数は storage からのパス、第2引数はファイル名、第3引数は利用するストレージ(local、public…など) 35 $path = $image->storeAs('', $filename, ['disk' => 'public']); 36 37 // パスを image カラムに代入 38 $lecture->image = $path; 39 40 // 最終的な状態を保存 41 $lecture->save(); 42 } 43 } 44 else { 45 $request->user()->lectures()->create([ 46 'category_name' => $request->category_name, 47 'title' => $request->title, 48 'content' => $request->content, 49 ]); 50 } 51 52 return redirect('/'); 53
dd($lecture-<image);
で確認すると、「null」となっています。
ただ、dd($request);
としてみると、画像が渡ってきているみたいです。
これは一体どういうことなんでしょうか?
回答1件
あなたの回答
tips
プレビュー