在laravel Blade模板中,我们可以使用以下代码排除HTML的某些部分:
@if (Auth::user())
<li><a href="{{ url('/home') }}">Mein Profil</a></li>
<li><a href="{{ url('/admin') }}">Admin</a></li>
@else
<li><a href="{{ url('/home') }}">Mein Profil</a></li>
@endif
如果用户已通过身份验证,则显示主页和管理员链接,如果用户未经过身份验证,则仅显示主页链接。
如果用户是管理员,我的问题是如何在这里进行检查?
我有来自laravel的默认登录系统,我刚刚在表用户中添加了一个列 - &gt; (&#39; admin&#39;)tinyint值为1且在此视频中 https://www.youtube.com/watch?v=tbNKRr97uVs 我找到了用于检查用户是否为admin的代码
if (!Auth::guest() && Auth::user()->admin )
它在AdminMiddleware.php中有效 但它在刀片上不起作用。如何使这个工作??
答案 0 :(得分:1)
@if (!Auth::guest() && Auth::user()->admin)
<li><a href="{{ url('/home') }}">Mein Profil</a></li>
<li><a href="{{ url('/admin') }}">Admin</a></li>
@else
<li><a href="{{ url('/home') }}">Mein Profil</a></li>
@endif
这只是为了清除(只需在用户表中再添加一列tinyint'admin'并设置为1)
答案 1 :(得分:0)
我发现自己忙得不可开交,检查是否已登录,检查角色,被添加到我所有的刀片文件中以分散注意力。您可以考虑添加定制刀片指令。在AppServiceProvider boot()函数中添加类似的内容
Blade::if('admin', function () {
if (auth()->user() && auth()->user()->admin) {
return 1;
}
return 0;
});
在刀片中只需使用
@admin
<p>Only admin sees this</p>
@endadmin