2011-05-14 78 views
1

如何獲取有關我的用戶的組信息?
在我的表格用戶中,我有一行group_id(id = 1)
此ID與我的表組相關聯。 (id 1 = group admin)
CakePHP Group獲取用戶信息

所以我想要的是當用戶登錄的例子,歡迎用戶||你是管理員。

我試圖做到這一點,但它不起作用。有人知道什麼是錯的嗎?

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

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

    echo $group; 

非常感謝!

回答

-1

使用containable behaviour

它看起來像你想找到一個組中的所有用戶。打開查詢各地:

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

收集你的數據從$用戶[ '集團']

+0

嗨,這不起作用..我使用蛋糕的PHP 1.3 ..我想看到在萬國羣組用戶登錄。 – NDeveloper 2011-05-15 17:16:02

+0

我已經更改了組和用戶。如果您有用戶ID,請將其插入,您將看到所有關聯的組 – Gevious 2011-05-16 07:27:12

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"