我在我的用戶表上有一個叫'角色'的關係。Laravel哪裏沒有按預期工作
這種關係是:
public function roles()
{
return $this->hasMany('App\RoleUser');
}
我只是想獲取有3
我查詢的角色的用戶是:
User::where('name', $name)
->orWhere('email', $email)
->whereHas('roles', function ($q) {
$q->where('id', 3);
})->get();
然而,這將返回所有用戶不管他們的角色如何。我可以確認所有用戶都具有角色並且角色關係正在工作。
在ROLE_USER表中的字段是「身份證」,「USER_ID」
你必須試試這個:'$ role_id = 3; User :: whereHas('roles',function($ q)use($ role_id){ $ q-> where('id',$ role_id); }) - > get();' –
@HirenGohel查看我的編輯並評論我發佈的答案。您的評論是一個可行的解決方案,但我的whereHas也在其狀態下工作,但其餘代碼有問題。 – Lovelock
所以你的意思是說你的'orWhere'條件不能正常工作? –