2
我有一個數據庫模型,它將用戶存儲在組中,併爲每個組存儲其他權限。結構顯示在圖像上。如何選擇具有更多條件的用戶
我想打一個SELECT
查詢,它返回用戶(),其中有一個或更多的權利。
進出口使用medoo
public function selUserByRight($rightID)
{
return $this->db->select(
"Users",
[
"[>]GroupRight" => ["FK_Group" => "FK_Group"],
"[>]Rights" => ["GroupRight.FK_Right" => "ID"]
],
[
"Users.ID","Users.Name","Rights.ID(RightID)","Rights.Right"
],
[
"AND" =>
[
"Rights.ID" => $rightID
]
]
);
}
用法:
$result = $db->selUserByRight(1,2,3);
原始查詢:
SELECT "Users"."ID","Users"."Name","Rights"."ID"
AS "RightID","Rights"."Right"
FROM "Users"
LEFT JOIN "GroupRight" ON "Users"."FK_Group" = "GroupRight"."FK_Group"
LEFT JOIN "Right" ON "GroupRight"."FK_Right" = "Rights"."ID"
WHERE "Rights"."ID = 1
的問題是,該查詢返回所有用戶,但我只想返回USER1 (因爲只有這個用戶擁有所有權利)。
有沒有解決方法?
如果你可以在一個SQL小提琴給我們提供您的表結構和一些樣本數據。 –
有什麼好運氣? –