如何在CakePHP中使用find('all')获取数据逐个使用?

时间:2013-06-21 12:57:24

标签: php cakephp

我想将course_id与从$courseInfo获取的$cLID进行匹配。

当我将此$clID['Relationscl']['course_id']行更改为1时,一切正常,但另一方面出现错误,如未定义索引:Relationscl

这是我的代码:

$this->loadModel('Course');
$this->loadModel('Lecturer');


$clID = $this->Relationscl->find('all', array(
        'conditions' => array(
                'student_id' => $id

        ),
        'fields' => array(
                'course_id','lecturer_id'
        )
));



$this->set('clIDs', $clID);

$courseInfo = $this->Course->find('first',array(
        'conditions' => array(
                'course_id' => $clID['Relationscl']['course_id']
        ),
        'fields' => array(
                'course_name','course_code','course_credit'
        )
));


$this->set('cInfos', $courseInfo);

1 个答案:

答案 0 :(得分:0)

如果我错了,请纠正我,但find('all')函数返回并索引数组,所以它应该像

$clID = array( 0 => array('Relationscl'=>array('course_id'=>1 /*and more fields*/)),
               1 => array('Relationscl'=>array('course_id'=>2 /*and more fields*/))
        /*etc*/);

很明显$clID['Relationscl']未定义。试试$clID[0]['Relationscl']。虽然即使这看起来很奇怪,如果你只打算使用一个记录,为什么你会find('all')find('first')更好?或者在循环中设置$courseInfo定义?