我正在编写一个脚本,目的是授予网站用户访问网站菜单不同部分的权限。为此,我创建了两个表,“菜单”和“权限”:
menu
- id
- section_name
rights
- id
- menu_id (references column id from menu table)
- user_id (references column id from users table)
如何编写查询以获取所有菜单部分并标记给定用户可以访问的部分。
我正在使用PHP和Postgres。
谢谢。
答案 0 :(得分:2)
也许是这样的:
SELECT M.*, CASE WHEN R.user_id > 0 THEN 1 ELSE 0 END AS access FROM menu AS M
LEFT JOIN rights AS R ON (R.menu_id = M.id AND R.user_id = 1)