【问题标题】:CakePHP Group get user informationCakePHP Group 获取用户信息
【发布时间】:2011-08-25 15:57:17
【问题描述】:

如何获取有关我的用户的组信息..?
在我的表用户中,我有一行 group_id (id = 1)
这个 id 链接到我的表组。 (id 1 = 组管理员)

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

我正在尝试这样做,但它不起作用。有谁知道怎么回事?

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

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

    echo $group;

非常感谢!

【问题讨论】:

    标签: php mysql arrays oop cakephp


    【解决方案1】:

    简单。甚至没有必要使用可包含行为,只要用户组处于第一级关联即可。在模型中设置所有关联非常重要

    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"
    

    【讨论】:

      【解决方案2】:

      使用containable behaviour

      您似乎正在尝试查找组中的所有用户。翻转查询:

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

      从 $users['Group'] 收集您的数据

      【讨论】:

      • 您好,这不起作用..我使用 cake php 1.3.. 我想查看用户登录的组。
      • 我已经更改了组和用户。如果您有用户 ID,请将其插入,您将看到所有关联的组
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-06-30
      • 2011-03-13
      • 2011-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-29
      相关资源
      最近更新 更多