我有一個具有數據透視表role_user的用戶模型。Laravel具有樞軸的雄辯查詢模型
在我的用戶表中我有一個字段'active'。
而且用戶可以有多個角色保存在數據透視表中。
我怎樣才能拉所有用戶的活動= 1和用戶在透視表中的具體角色?
我有一個具有數據透視表role_user的用戶模型。Laravel具有樞軸的雄辯查詢模型
在我的用戶表中我有一個字段'active'。
而且用戶可以有多個角色保存在數據透視表中。
我怎樣才能拉所有用戶的活動= 1和用戶在透視表中的具體角色?
試試這個。這假設你在用戶和角色之間建立了雄辯的關係。我只在hasMany
/belongsTo
關係中使用過這種類型的查詢,但我認爲它也適用於您的示例。
$users = User::where('active', 1)->whereHas('roles', function ($query) {
$query->where('role', 'foo');
})->get();
要通過角色使用過濾用戶whereHas()
方法:
User::whereHas('roles', function($q) use ($role) {
$q->where('role', $role);
})->where('active', 1)->get();
在這種情況下,wherePivot是否爲活動角色或用戶過濾?我認爲它可能是爲活躍角色過濾,但OP正在尋找活躍用戶。如果這不會過濾基於活動的用戶表,但這比我的答案更清晰。 – jackel414
@ jackel414我確定'active'列在數據透視表中。我已經修復了代碼。謝謝你提到它。 )我已經提出了你的答案。 –
感謝你們對你的答案,@ jackel414有一個稍微乾淨的代碼和它的作品,但兩個答案都好! – lewis4u