创建自定义函数以在视图中使用的最佳方法是什么以及如何?我对Laravel很新,即使经过大量的搜索,我也无法理解。
这就是我目前在我的视图中检查用户是否为管理员的方式,例如:
@if (Auth::user()->group === "admin")
<p>You're an admin</p>
@endif
我需要做什么才能使这个功能成为一个功能,所以我可以这样做呢?
@if (Auth::user()->isAdmin)
<p>You're an admin</p>
@endif
答案 0 :(得分:1)
由于Auth::user()
会返回User
模型的实例,因此您只需在其中添加方法:
// this is in the User class
public function isAdmin()
{
return $this->group == "admin";
}
然后这样称呼它:
@if (Auth::user()->isAdmin())
<p>You're an admin</p>
@endif
答案 1 :(得分:1)
在User
模型中,添加以下方法:
public function inGroup($name)
{
return $this->group == $name;
}
现在,您可以在模板中执行以下操作:
@if(Auth::user()->inGroup('admin'))
<!-- User is in the 'admin' group -->
@endif
请注意读取的自然程度:如果用户位于名为“admin”的组中。
随着您的应用程序扩展,您可以保留此单一方法,而不必定义多个方法来检查用户的组(isAdmin,isSubscriber,isPremium等)。