【发布时间】:2011-04-11 04:40:55
【问题描述】:
我正在使用 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
现在我想从 Acos 中获取 lft 和 rght 值在间隔的 lft 和 rght 之间的 foreign_keys
在上面的例子中,我们得到了 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' )
)
我不希望上面的例子太乱。如果有任何不确定性,请发表评论。 提前谢谢!
【问题讨论】:
标签: mysql cakephp subquery acl between