2015-07-22 15 views
1

我有兩個表,usersroles,其中每個user可以(但不一定)有一個role。該關係分別來自兩張表中的role_idid找關係,如果行存在

如何創建一個Eloquent查詢,獲取用戶的role如果該行存在

這裏是我當前的查詢(儘管它不會做什麼,我需要):

$user = User::where('username', 'LIKE', '%abc%') 
    ->get(); 
+1

嘗試添加' - >與(「角色」)' - 我不記得它是否增加了一些東西,不管它是否存在。 –

回答

1

首先,你需要在你的用戶模型中定義一個用戶>角色關係:

public function role() { 
    return $this->belongsTo(Role::class); 
} 

然後你就可以與他們的角色一起加載用戶:

$users = User::with('role')->where('username', 'LIKE', '%abc%')->get(); 

擷取的用戶,在

$user->role 

可用自己的角色。如果他們沒有作用,這個屬性的值將是NULL

相關問題