Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.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 4中的当前用户_Php_Laravel_Laravel 4 - Fatal编程技术网

Php 返回Laravel 4中的当前用户

Php 返回Laravel 4中的当前用户,php,laravel,laravel-4,Php,Laravel,Laravel 4,使用PHP和Laravel4,我在我的用户模型中有一个如下的方法来检查管理员用户 public function isAdmin() { if(isset($this->user_role) && $this->user_role === 'admin'){ return true; }else{ return false; } } 但是,当我在其他类或模型中调用此函数时,这不起作用 为了得到想要的结果,我不

使用PHP和Laravel4,我在我的用户模型中有一个如下的方法来检查管理员用户

public function isAdmin()
{
    if(isset($this->user_role)  && $this->user_role === 'admin'){
        return true;
    }else{
        return false;
    }
}
但是,当我在其他类或模型中调用此函数时,这不起作用

为了得到想要的结果,我不得不这样做,而不是

public function isAdmin()
{
    if(isset(Auth::user()->user_role)  && Auth::user()->user_role === 'admin'){
        return true;
    }else{
        return false;
    }
}
我正试图在我的管理控制器中访问它,如下所示,但它返回一个空的用户对象,而不是当前登录的用户对象

public function __construct(User $user)
{
    $this->user = $user;
}

所以我的问题是如何让第一个版本工作?当我在另一个类中实例化一个用户对象时,我需要以某种方式确保它具有当前登录用户的数据,但我不确定最好的方法…我知道这是基本的,我只是有点生疏,现在可以使用帮助,谢谢

这返回用户存储库-而不是当前登录用户

public function __construct(User $user)
要访问应用程序中任何位置的当前登录用户,只需执行以下操作

Auth::user()
if (Auth::user()->isAdmin())
{
     // yes
}
else
{
     // no
}
(就像你中间的例子)

因此,要检查应用程序中任何位置的用户是否是管理员用户,只需执行以下操作

Auth::user()
if (Auth::user()->isAdmin())
{
     // yes
}
else
{
     // no
}

拉威尔很酷,但它似乎做了太多的工作,很难知道发生了什么。我想我只需要更多地学习框架,我习惯于从头开始做事情……有趣的是,使用框架对我来说会更难me@jasondavis坚持下去,参考文档,在使用了一年左右之后,这太神奇了,我再也不会回去了。@DustinGraham在我发表评论后的10个月里,我现在也看不到回头路了,这简直太神奇了。我唯一的抱怨是,我希望还有一个轻量级的小微项目版本。LaravelV3曾经有一个单文件lite版本,如果L4可以做到这一点,那将是非常酷的,但我怀疑现在是这样。@HardyMathew-是的-是的should@JasonDavis你的愿望已经实现了。你现在有流明了!