[英]laravel $title is undefined Make the variable optional in the blade template. Replace {{ $title }} with {{ $title ?? '' }}
[英]make $user is undefined Make the variable optional in the blade template. Replace {{ $user }} with {{ $user ?? '' }}
我有一页 sidebar.blade.php 我必须将此页面作为侧边栏导入另一个页面解决方案
" make $user is undefined 使变量在刀片模板中成为可选。将 {{ $user }} 替换为 {{ $user?? '' }}"
我怎么能解决这个问题
侧边栏代码在这里
@if($user->role =="handlers" )
<li>
<a href="{{ url('/kontaktuppgifter') }}"><i class="fa fa-user fa-fw"></i> kontaktuppgifter{{-- <span class="fa arrow"></span> --}}</a>
</li>
@endif
<li>
由于您可能没有将变量$user
传递给您的每个视图,但您正在扩展侧边栏视图,请尝试使用 Laravel auth()
帮助程序来获取用户 model。 你可以这样做:
@if(auth()->user()->role == "handlers")
<li>
<a href="{{ url('/kontaktuppgifter') }}">
<i class="fa fa-user fa-fw"></i>
kontaktuppgifter
</a>
</li>
@endif
您还可以与所有视图共享一个 $user 变量,这样您就不必在每次要检索用户数据时查询数据库。
您可以在 BaseController class __construct()
function 中执行此操作:
//App\Http\Controller.php
public function __construct()
{
$user = auth()->user();
view()->share('user', $user);
}
然后您可以在视图中使用用户变量,就像您现在正在做的那样:
@if($user->role == "handlers")
<li>
<a href="{{ url('/kontaktuppgifter') }}">
<i class="fa fa-user fa-fw"></i>
kontaktuppgifter
</a>
</li>
@endif
如果 $user 是当前用户,那么您应该为此使用 Auth:
@if(auth()->user()->role =="handlers" )
<li>
<a href="{{ url('/kontaktuppgifter') }}"><i class="fa fa-user fa-fw"></i> kontaktuppgifter{{-- <span class="fa arrow"></span> --}}</a>
</li>
@endif
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.