Вы можете или не можете решить сделать это, но в моей таблице users
есть поле security_group_id
, которое указывает на таблицу security_groups
. В этой таблице security_groups
я храню псевдонимы / имена групп безопасности (то есть администраторов, пользователей сайта, менеджеров и т. Д.).
В таблице aro
эти группы безопасности являются корневыми / родительскими узлами для всех последующих учетных записей пользователей, которые я создаю в системе. Таким образом, запрашивая мое поле users
таблицы security_group_id
, я могу определить группу, в которой находится пользователь.
Другой подход заключается в следующем:
$aro =& ClassRegistry::init('Aro');
$theUser = array('User' => array('id' => <user_id>));
$aroPath = $aro->node($theUser);
$aroPath
будет массивом, включающим пользовательский узел в таблице $aro
, а также все родительские узлы.