I'm trying to create a dynamic navigation bar on my Laravel project, that, if the user is logged in, outputs Hello, {{$user->name}}!.
This, however, is not working.
If I try to add that $user->name variable to my navbar layout I simply get the following error: Undefined variable: user (View: C:\xampp\htdocs\laravel\app\views\layout\navbar.blade.php).
This layout is included in the main layout like so: @include('layout.navbar') and the code is as follows:
<nav class="navbar navbar-default">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" id="logo" href="{{URL::route('home')}}">asd</a>
<ul class="nav navbar-nav">
@if(Auth::check())
<li>
<a>Hello, {{$user->name}}!</a>
</li>
@endif
</ul>
</div>
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav navbar-right">
@if(Auth::check())
<li>
<a href="{{URL::route('profile', $user->name)}}">Profile</a>
</li>
<li>
<a href="{{URL::route('account-logout')}}">Logout</a>
</li>
@else
<li>
<a href="{{URL::route('account-login')}}">Login</a>
</li>
<li>
<a href="{{URL::route('account-create')}}">Register</a>
</li>
@endif
</ul>
</div><!-- /.navbar-collapse -->
</div><!-- /.container-fluid -->
</nav>
What is the correct way to access a user object (with the information of the user that is currently logged in) within this context?