Laravel登录身份验证

时间:2018-07-31 10:12:02

标签: laravel authentication

我有两个表,一个是用户,另一个是角色表。我想检查登录用户的角色状态是否为活动状态,以及我是否尝试过的用户状态为活动状态

$user = User::whereHase('get_role', function($query){$query->where('status', 1);})
        where("email","=",$request->{$this->username()})
        ->where('password',"=",\Hash::make($request->password))->first();

但是那行不通,请帮助我。 预先感谢。

3 个答案:

答案 0 :(得分:3)

如果复制并粘贴此代码,则您至少有一个拼写错误

$user = User::whereHase('

将whereHase更改为wherehas,请仔细检查拼写,然后重试?

答案 1 :(得分:1)

我终于找到了解决方法

$ credentials = $ this-> credentials($ request);

$ login = $ credentials [$ this-> username()];

\ App \ Models \ User :: select(“ users.id”)-> Join(“ roles”,“ roles.id”,“ =”,“ users.role_id”)-> where(“ users。状态”,1)-> where(“ roles.status”,1)-> where($ this-> username(),$ login)-> first()

答案 2 :(得分:0)

您应该尝试以下操作:

 $user = User::whereHas('get_role', function($query){$query->where('status', 1);})
            ->where("email","=",$request->{$this->username()})
            ->where('password',"=",\Hash::make($request->password))->first();