我正在使用 CakePHP 中的 ACL,并希望获取当前用户允许的所有条目。
简化,我有两个表:
间隔:
**lft**| **rght**
10 | 20
40 | 60
90 | 92
阿科斯:
**foreign_key** | **lft** | **rght**
3 | 15 | 17
4 | 25 | 27
5 | 45 | 47
6 | 49 | 51
7 | 81 | 83
现在我想从 Interval 获取在 lft 和 rght 之间具有 lft 和 rght 值的 foreign_keys FROM Acos
在上面的例子中,我们得到了 foreign_key 3、5、6。
在旁注中。“间隔”表实际上并不存在。值来自此查询(也是 acos 表):
SELECT lft, rght FROM acos WHERE id IN (
SELECT aco_id FROM aros_acos WHERE
aro_id = (SELECT parent_id FROM aros WHERE foreign_key = 48 && model = 'User' )
OR
aro_id = (SELECT id FROM aros WHERE foreign_key = 48 && model = 'User' )
)
我不希望上面的例子太乱。如果有任何不确定性,请发表评论。先感谢您!