Я работаю с ACL в CakePHP и хотел бы получить все записи, которые разрешены для текущего пользователя.
Упрощенно, у меня есть две таблицы:
Интервал:
**lft**| **rght**
10 | 20
40 | 60
90 | 92
Acos:
**foreign_key** | **lft** | **rght**
3 | 15 | 17
4 | 25 | 27
5 | 45 | 47
6 | 49 | 51
7 | 81 | 83
Теперь я хотел бы извлечь из ACOS foreign_keys, которые имеют значения lft и rght между lft и rght из Interval
В приведенном вышеНапример, мы получаем Foreign_key 3, 5, 6.
На заметку.Таблица «Interval» фактически не существует.Значения получены из этого запроса (также таблицы 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' )
)
Я не надеюсь, что приведенный выше пример слишком запутан.Пожалуйста, прокомментируйте, если есть какие-либо неопределенности.Заранее спасибо!