CakePHP Group获取用户信息

时间:2011-05-14 20:25:37

标签: php mysql arrays oop cakephp

如何获取有关我的用户的群组信息..? 在我的表用户中,我有一行group_id(id = 1)
此ID链接到我的表组。 (id 1 = group admin)

所以我想要的是用户登录示例欢迎用户||你是管理员。

我试图这样做,但它不起作用。有人知道什么是错的吗?

$group = $this->User->Group->findById($id); 

    $users = $this->User->find('all', array(
        'conditions' => array(
            'User.group_id' => $id
        )
    ));

    echo $group;

非常感谢!

2 个答案:

答案 0 :(得分:2)

易。并且甚至不需要使用可包含的行为,只要用户组处于第一级关联。在模型中设置所有关联非常重要

user.php (Model)
var $belongsTo = array('Group');

group.php (Model)
var $hasMany = array('User');

假设您知道用户的ID,您只需要这样做:

users_controller.php
$user = $this->User->read(null, $id);

这将为您提供一个数组,您可以从中访问相关的组,如下所示:

$user['Group']['name']; //or whatever key you use for the term "Admin"

答案 1 :(得分:-1)

使用containable behaviour

看起来您正在尝试查找组中的所有用户。转动查询:

$users = $this->User->find('first',array(
    'conditions'=>array('User.id'=>$id),
    'contain'=>array('Group')
));

从$ users ['Group']

收集您的数据