##Laravelの画像アップロードでCall to a member function store() on nullとなるのを解決したい
Laravelの画像アップロードで煮詰まっております。
storeに値が入りません。書き方が違うのでしょうか?
シンボリックは貼ってあります。
MemberController
1<?php 2 3namespace App\Http\Controllers; 4 5use Illuminate\Http\Request; 6 7class MemberController extends Controller 8{ 9 10 public function getIndex(Request $rq) 11 { 12 $keyword = $rq->input('keyword'); 13 $query = \App\Member::query(); 14 15 if(!empty($keyword)) 16 { 17 $query->where('email','like','%'.$keyword.'%')->orWhere('name','like','%'.$keyword.'%'); 18 } 19 20 $members = $query->orderBy('id','desc')->paginate(10); 21 return view('layouts.member.list')->with('members',$members)->with('keyword',$keyword); 22 } 23 24 public function new_index() 25 { 26 return view('layouts.member.new_index'); 27 } 28 29 public function new_confirm(\App\Http\Requests\CheckMemberRequest $request) 30 { 31 $data = $request->all(); 32 return view('layouts.member.new_confirm')->with($data); 33 } 34 35 public function new_finish(Request $request) 36 { 37 $member = new \App\Member; 38 39 $member->name = $request->name; 40 $member->email = $request->email; 41 $member->tel = $request->tel; 42 $member->addr = $request->addr; 43 $member->birth = $request->birth; 44 $member->image = $request->image->store('public/images'); 45 $member->comment = $request->comment; 46 $member->save(); 47 48 return redirect()->to('member/list')->with('flash_message', '登録が完了しました。'); 49 } 50 51 public function edit_index($id) 52 { 53 $member = \App\Member::findOrFail($id); 54 return view('layouts.member.edit_index')->with('member',$member); 55 } 56 57 public function edit_confirm(\App\Http\Requests\CheckMemberRequest $request) 58 { 59 $data = $request->all(); 60 return view('layouts.member.edit_confirm')->with($data); 61 } 62 63 public function edit_finish(Request $request, $id) 64 { 65 $member = \App\Member::findOrFail($id); 66 67 $member->name = $request->name; 68 $member->email = $request->email; 69 $member->tel = $request->tel; 70 $member->addr = $request->addr; 71 $member->birth = $request->birth; 72 $member->image = $request->image->store('public/images'); 73 $member->comment = $request->comment; 74 $member->save(); 75 76 return redirect()->to('member/list')->with('flash_message', '内容が更新されました。'); 77 } 78 79 public function member_delete($id) 80 { 81 $member = \App\Member::find($id); 82 $member->delete(); 83 84 return redirect()->to('member/list')->with('flash_message', '削除が完了しました。'); 85 } 86 87} 88
該当部分
$member->image = $request->image->storeAs('public/images', Auth::user()->id . '.jpg');
追記:
@extends('layouts.layout') @section('content') <header id=""> <h1>Laravel Project</h1> </header> <section id="serch"> <div class="head"><h2>参加者登録</h2></div> </section> <section id="list-table"> <form action="new" method="post" enctype="multipart/form-data"> @csrf @method('PATCH') <table class="list"> <div class="@if($errors->has('name')) has-error @endif"> <tr><th>名前<span>*入力必須</span>@if($errors->has('name'))<span class="text-danger">{{ $errors->first('name') }}</span> @endif</th><td><input type="text" class="form" name="name" value="{{old('name')}}"></td></tr> </div> <div class="@if($errors->has('email')) has-error @endif"> <tr><th>Email<span>*入力必須</span>@if($errors->has('email'))<span class="text-danger">{{ $errors->first('email') }}</span> @endif</th><td><input type="text" class="form" name="email" value="{{old('email')}}"></td></tr> </div> <div class="@if($errors->has('tel')) has-error @endif"> <tr><th>電話番号<span>*ハイフンなし</span>@if($errors->has('tel'))<span class="text-danger">{{ $errors->first('tel') }}</span> @endif</th><td><input type="text" class="form" name="tel" value="{{old('tel')}}"></td></tr> </div> <tr><th>出身(都道府県)</th><td><input type="text" class="form" id="addr" name="addr" value="{{old('addr')}}"></td></tr> <tr><th>誕生日</th><td><input type="text" class="form" name="birth" placeholder="2000/12/12" value="{{old('birth')}}"></td></tr> </table> </section> <section id="picture"> <div class="section-wrap"> <div class="pic-wrap"> <div class="pic-title">画像</div> <div class="pic"> <input type="file" class="form" name="image"> </div> </div> <div class="com-wrap"> <div class="pic-title">メモ</div> <div class="comment"> <textarea type="text" class="" name="comment" placeholder="" value="{{old('comment')}}"></textarea> </div> </div> </div> </section> <section id="back"> <input type="submit" class="btn create-btn" value="登録内容確認"> </form> <a href="{{ action('MemberController@getIndex') }}" class="btn list-btn">一覧へ戻る</a> </section> @endsection
で指定するもnullとなります。
どなたかご教授頂けますと幸いです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/08/18 03:25
2019/08/18 03:51
2019/08/18 13:42
2019/08/18 13:46
2019/08/18 21:06
2019/08/18 21:11 編集
2019/08/19 22:27
2019/08/19 23:13
2019/08/20 01:48
2019/08/20 01:50
2020/10/26 14:50