前提・実現したいこと
現在LaravelでTwitterクローンの作成を行っています。
ナビバーにUsersという機能を実装中に以下のエラーメッセージが発生しました。
UsersはUserの一覧を表示するためにつけました。
同じように、bootstrapを用いて、ナビバーにドロップダウンで、ユーザの名前を押すと
- My profile
- Favorites
- Logout
しかし、そのFavorites をつけた途端、Usersを押した時にエラーになってしまいました。
Favoritesをコメントにしてもエラーになリます。
ただ、Favorites の部分を削除すれば、Users は正常に動きます。
そこがとても気になる点です。
FavoritesもUsersもどちらも実行したいので、お助けください。
発生している問題・エラーメッセージ
Undefined variable: user (View: /home/ec2-user/environment/microposts/resources/views/commons/navbar.blade.php) (View: /home/ec2-
該当のソースコード
php
1// navbar.blade.php 2 3<header class="mb-4"> 4 <nav class="navbar navbar-expand-sm navbar-dark bg-dark"> 5 <a class="navbar-brand" href="/">Microposts</a> 6 7 <button type="button" class="navbar-toggler" data-toggle="collapse" data-target="#nav-bar"> 8 <span class="navbar-toggler-icon"></span> 9 </button> 10 11 <div class="collapse navbar-collapse" id="nav-bar"> 12 <ul class="navbar-nav mr-auto"></ul> 13 <ul class="navbar-nav"> 14 @if (Auth::check()) 15 <li class="nav-item">{!! link_to_route('users.index', 'Users', [], ['class' => 'nav-link']) !!}</li> 16 <li class="nav-item dropdown"> 17 <a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown">{{ Auth::user()->name }}</a> 18 <ul class="dropdown-menu dropdown-menu-right"> 19 <li class="dropdown-item">{!! link_to_route('users.show', 'My profile', ['id' => Auth::id()]) !!}</li> 20 <li class="dropdown-item">{!! link_to_route('users.favorites', 'Favorites', ['id' => $user->id]) !!}</li> 21 <li class="dropdown-divider"></li> 22 <li class="dropdown-item">{!! link_to_route('logout.get', 'Logout') !!}</li> 23 </ul> 24 </li> 25 @else 26 <li class="nav-item">{!! link_to_route('signup.get', 'Signup', [], ['class' => 'nav-link']) !!}</li> 27 <li class="nav-item">{!! link_to_route('login', 'Login', [], ['class' => 'nav-link']) !!}</li> 28 @endif 29 </ul> 30 </div> 31 </nav> 32</header>
php
1//UsersController.php@index部分 2 3public function index() 4 { 5 $users = User::orderBy('id', 'desc')->paginate(10); 6 7 return view('users.index', [ 8 'users' => $users, 9 ]); 10 }
php
1//UsersController.php@favorites部分 2 3 4public function favorites($id) 5 { 6 $user = User::find($id); 7 $favorites = $user->favorites()->paginate(10); 8 9 $data = [ 10 'user' => $user, 11 'microposts' => $favorites, 12 ]; 13 14 $data += $this->counts($user); 15 16 return view('users.favorites', $data); 17 }
補足情報(FW/ツールのバージョンなど)
cloud9を使用
Laravelのバージョン:Laravel Framework 5.5.45
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/04/23 16:38