Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在laravel应用程序中,如何配置isSuperAdmin()?_Php_Laravel - Fatal编程技术网

Php 在laravel应用程序中,如何配置isSuperAdmin()?

Php 在laravel应用程序中,如何配置isSuperAdmin()?,php,laravel,Php,Laravel,我想使用Gate facades将管理员身份验证添加到我的应用程序中。基本上,如果用户是管理员,我想进行授权,这样他就可以看到所有的帖子,如果他是普通用户,那么他只能看到自己的帖子。我从laravel官方文档复制了这段代码,但我不了解isSuperAdmin()的来源以及如何配置它 Gate::before(function ($user, $ability) { if ($user->isSuperAdmin()) { retu

我想使用Gate facades将管理员身份验证添加到我的应用程序中。基本上,如果用户是管理员,我想进行授权,这样他就可以看到所有的帖子,如果他是普通用户,那么他只能看到自己的帖子。我从laravel官方文档复制了这段代码,但我不了解isSuperAdmin()的来源以及如何配置它

Gate::before(function ($user, $ability)
{     
    if ($user->isSuperAdmin())
    {         
        return true;  
    }
});

如您所见,该方法在
$user
对象中被调用。因此,您只需要在模型中定义该逻辑:

User.php

public function isSuperAdmin()
{
    /**
     * Here goes your logic to determine which users are "super_admin"
     *
     * For example, in case you have a'is_super_admin' boolean column 
     * in your database, you could do:
     */

     return $this->is_super_admin;
}

有什么问题吗?你有什么错误吗?门不工作吗?所以,我们需要对用户数据库表进行更改。?我的意思是需要添加一行吗?Thanks@Yasir这只是一个例子,可能您的模型中有一个“角色”关系,它将用户和角色表联系起来(可能是一个多对多关系)。因此,在这种情况下,您可以这样做:
return$this->roles()->where('role','super admin')->exists()或根据特定逻辑计算分数。你可以用几种方法来做这件事。你明白了。