CakePHP-查询HABTM表然后访问数据

时间:2014-01-17 22:41:47

标签: mysql cakephp

CAKEPHP问题

我正在成功查询我的HABTM表,并返回给定id的每个student的{​​{1}}。这是我的代码。

group_id

它有效,没问题。我需要以某种方式使用此信息(即学生的$students = $this->GroupsStudents->find('list', array('conditions' => array('group_id' => $id))); )(存储在id中)来查询我的$students表格,并根据他们的ID提取学生的姓名。

如果有人能给我一些见解,那将非常感激。

2 个答案:

答案 0 :(得分:0)

如果我理解你的话。正如你可以从中看到的那样,如果你有id,你可以很容易地得到学生的名字,即使我不确定你为什么会这样做,而不仅仅是取名。     foreach($ student as $ id => $ name){        echo $ students [$ id]; //生成名称     }

答案 1 :(得分:0)

在Student模型中定义与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的复数名称,以便在可能的情况下更正