我的cakePHP网站有三个表;用户,组和groups_users。
users.id通过一对多关系加入groups_users.users_id。
groups.id通过一对多关系加入groups_users.groups.id。
因此,groups_users包含所有用户及其所在组的列表。例如,用户1可能位于组1,2和3中.group_users还包含单独的主键字段。
我希望能够返回用户在登录时成为其成员的组名(groups.groupName)数组,然后保留此数组并使用它来检查该groupName是否具有查看权限网站的特定页面。
我是蛋糕的新手,但对PHP感到满意。
答案 0 :(得分:0)
在这些情况下我更喜欢可容纳的东西。我相信有人会告诉我是否有理由不这样做。
首先,您需要将此行添加到您的用户模型中:
public $actsAs = array('Containable');
确保您也可以在此处正确设置关系。然后,您可以在控制器中使用以下代码。
$groups = $this->User->find('first', array(
'conditions' => array(
'User.id' => $id
),
'contain' => array(
'Group' => array(
'fields' => array(
'Group.groupName'
)
)
)
));
$this->set('groups', $groups);
最后一行使视图中的变量可用。尝试在控制器或视图中运行debug($ groups)以查看输出。