現状
現在、ブログ投稿サイトを開発しています。ユーザページで各ユーザがプロフィール画像をアップデートアクションで変更できる機能を実装したいです。
Call to a member function getClientOriginalName() on null
# UsersController public function update($id, Request $request) { $fileName = $request->avatar->getClientOriginalName(); User::find($id)->update(array( 'avatar' => $fileName, 'profile' => $request->profile )); return view('users.update')->with('user', $user); }
#edit.blade.php {{ Form::open(['url' => 'users/$user->id', 'method' => 'PATCH', 'files' => true, 'route' => 'UsersController@update']) }} {{ Form::label('fileName', 'Please select your avatar') }} {{ Form::file('fileName') }} {{ Form::close() }}
かなり検索して試しましたが、動きません。
宜しくお願い致します。
追記
public function update($id, Request $request) { User::find($id)->update( array( 'avatar' => $request->avatar, 'profile' => $request->profile ) ); return view('users.update')->with('user', $user); }
@extends('layout')
@section('content') @if (Auth::check() && Auth::user()->id == $user->id) <section id="intro"> <header> {{ Form::open(['url' => 'users/$user->id', 'method' => 'PATCH', 'files' => true]) }} {{ Form::label('fileName', 'Please select your avatar') }} <input type="file" name="avatar" value="avatar"> <textarea name="profile" rows="3" value="profile" style="width: 95%; margin-right: auto; margin-left: auto; margin-top: 1.5em;" placeholder="Tell me what kind of person are you...?">{{ $user->profile }}</textarea> <input type="submit" value="update" style="margin: 3em 0 2em 0;"> {{ Form::close() }} </header> </section> @endif @endsection
上記に書き換えたところ($fileName = $request->avatar->getClientOriginalName();を消した)、Call to a member function update() on nullと表示されました。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。