Php 在Laravel的视图中访问用户数据库信息

Php 在Laravel的视图中访问用户数据库信息,php,laravel,blade,Php,Laravel,Blade,我试图在我的Laravel项目上创建一个动态导航栏,如果用户登录,它将输出Hello,{{$user->name} 然而,这是行不通的 如果我尝试将$user->name变量添加到我的navbar布局中,我只会得到以下错误:未定义变量:user(视图:C:\xampp\htdocs\laravel\app\views\layout\navbar.blade.php) 此布局包含在主布局中,如下所示:@include('layout.navbar'),代码如下: <nav class="na

我试图在我的Laravel项目上创建一个动态导航栏,如果用户登录,它将输出
Hello,{{$user->name}

然而,这是行不通的

如果我尝试将
$user->name
变量添加到我的navbar
布局
中,我只会得到以下错误:
未定义变量:user(视图:C:\xampp\htdocs\laravel\app\views\layout\navbar.blade.php)

布局
包含在主
布局
中,如下所示:
@include('layout.navbar')
,代码如下:

<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>

切换导航
    @if(Auth::check())
  • @否则
  • @恩迪夫

在此上下文中访问用户对象(使用当前登录的用户的信息)的正确方法是什么?

您需要在Laravel中使用类似{{Auth::user()->name}}的内容。它将为您提供刀片模板中视图的登录用户。

您需要在Laravel中使用类似{{Auth::user()->name}}的内容。它将为您提供刀片模板中视图的登录用户。

如果您试图访问以下登录用户数据:

$user->name
然后,您需要将登录的用户从控制器传递到
刀片视图
,如下所示:

retun View::make("pathAndNameOfBladeFile")->with(Array("user" => Auth::user()));
并将中的
@if(Auth::check())
更改为
刀片视图中的
@if($user)

--或

在blade文件的顶部添加此项(在代码中使用
$user
之前放置此项)

@if(Auth::check())
@恩迪夫
--或

你可以按照@karrde00在答案中的建议做


执行此操作的原因是从控制器传递
$user

如果您试图访问记录的用户数据,如

$user->name
然后,您需要将登录的用户从控制器传递到
刀片视图
,如下所示:

retun View::make("pathAndNameOfBladeFile")->with(Array("user" => Auth::user()));
并将中的
@if(Auth::check())
更改为
刀片视图中的
@if($user)

--或

在blade文件的顶部添加此项(在代码中使用
$user
之前放置此项)

@if(Auth::check())
@恩迪夫
--或

你可以按照@karrde00在答案中的建议做

清洁器执行此操作的原因是从控制器传递
$user