2017-11-04 4 views
1

画像からデータベースへのパスをロードしますsrc="{{ Storage::url($user->avatar) }}"画像はプロファイルページと設定に表示されます。プロファイルページには画像が表示され、設定には "undefined variable user"というエラーメッセージが表示されます。 変数 "user"はどのように定義できますか?未定義の変数ユーザーlaravel

class SettingsController extends Controller 
{ 
    public function index() 
    { 
     return view('setting') 
     ->with('user', $user); 
    } 

    public function editProfile() 
    { 
     return view('setting')->with('info', Auth::user()->profile); 
    } 

    public function updateProfile(Request $r) 
    { 

     $this->validate($r,[ 
     'about' => 'required|max:250', 
     'webpage' => 'required' 
     ]); 

     Auth::user()->profile()->update([ 
     'about' => $r->about, 
     'webpage' => $r->webpage 
     ]); 

     if($r->hasFile('avatar')) 

     { 
     Auth::user()->update([ 
      'avatar'=> $r->avatar->store('public/' . Auth::id() . '/avatar') 
     ]); 
     } 

     return back()->with('success', lang::get('messages.profileupdate')); 
    } 
} 
+1

コントローラでビューを返すときにユーザーを渡しましたか?公式のドキュメントを参照してくださいhttps://laravel.com/docs/5.5/controllers –

+0

私はそう考えています:戻るビュー( "設定"、["ユーザー" => $ユーザー]); – slickness

+0

$ユーザーの作成方法は? –

答えて

0

あなたのコメントに基づいて、Laravelがどのように機能するかについて基本的な理解が失われていると思います。公式documentationを読み、例に従ってください。

「コントローラの定義」セクションにController Documentationにあるユーザー固有の例があります。

Laracastsは、役に立つチュートリアルのウェブサイトであり、常に初心者の方におすすめです。

0

index()メソッドでは、$ userを最初に定義することなくビューに送信します。

$ user = \ Auth :: user();それ以前はです。以下を参照してください。

class SettingsController extends Controller 
{ 
    public function index() 
    { 
     $user = \Auth::user(); // define user first before sending it to the view  
     return view('setting') 
     ->with('user', $user); 
    } 
+0

を追加しましたが、同じエラーが発生しました – slickness

+0

まだ同じエラーが表示されている場合は、**ユーザーがログインしていないことを意味します** –