2014-01-17 54 views
0

CakePHP的問題CakePHP-查詢HABTM表,然後訪問數據

我成功地查詢我的HABTM表,並與給定group_id返回每studentid。這是我的代碼。

$students = $this->GroupsStudents->find('list', array('conditions' => array('group_id' => $id)));

它的工作原理,沒有任何問題。我需要以某種方式使用存儲在$students中的這個信息(即學生的id)來查詢我的students表並根據他們的id提取學生的姓名。

如果有人可以給我一些見解,這將不勝感激。

回答

0

如果我理解你的權利。正如你可以看到,如果你有這個ID,你可以很容易地得到學生的名字,即使我不知道你爲什麼會這樣做,而不僅僅是名字。 foreach($ students as $ id => $ name){ echo $ students [$ id]; //產生名字 }

0

在學生模型定義與GroupStudent模型的關係如下圖所示:

var $hasMany = array(
'GroupStudent' => array(
    'className'  => 'GroupStudent', 
    'foreignKey' => 'student_id' 
) 
); 

然後你寫你的查詢作爲

$students = $this->Student->find('all', 
        array(
        'conditions' => array('GroupStudent.group_id' => $id) 
      'fields'=>array('Student.name','Student.id','GroupStudent.group_id')) 
        ); 

注:請確保您的控制器具有$uses=>array('Student','GroupStudent');定義! 和你正在使用GroupStudents模型的複數名稱,所以如果可能的話更正它們

+0

只是爲了澄清''''groups_students'''是一個關係型數據庫我有,實際上它本身並不是一個模型。 –