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

如何在CakePHP中使用find(';all';,)逐个获取数据?,php,cakephp,Php,Cakephp,我想将课程id与从$cLID获取的$courseInfo匹配 当我将此$clID['Relationscl']['course\u id']行更改为1时,一切正常,但另一种方式会出现错误,如未定义索引:Relationscl 这是我的密码: $this->loadModel('Course'); $this->loadModel('Lecturer'); $clID = $this->Relationscl->find('all', array( 'c

我想将
课程id
与从
$cLID
获取的
$courseInfo
匹配

当我将此
$clID['Relationscl']['course\u 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);

如果我错了,请纠正我,但是
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
定义设置在循环中?

var\u dump($clID)显示了什么?实际上,我试图查找学生参加的课程和讲座。我是编写CakePHP的初学者。首先,我从URL(“ex.RelationsLS/courseLecturer/1”)获取学生id。如您所见,student_id为“1”,然后尝试使用$clID定义从数据库中查找课程id和讲师id,我应该使用循环来捕获所有课程和讲师。在$courseInfo定义中,我试图匹配课程id,该id来自$clID定义。我猜“$clID['Relationscl']['course_id']”没有如你所说的那样定义。我怎么定义它呢?你不需要定义索引,你需要调整引用,这样你就可以找到合适的人来做这份工作。find('all')是一个索引数组,因此没有
$clID['Relationscl']
,但有一个
$clID[0]['Relationscl']
(请注意索引)。如果你在一个循环中这样做,很明显零将改变为遍历找到的所有关系,但是现在,只需将零添加为第一个索引,看看这是否能消除未定义的通知。将来,对有问题的变量进行调试以检查其结构。我做了$clID[0]['Relationscl'],但只在屏幕上显示了[0]索引。想象一下,我的数据库中有RelationsLS表。它保留课程id学生id和讲师id。当我点击学生的名字时,我想看到他或她所修的课程。我也有课程表、学生表和讲师表。我正在尝试将$clID定义中的student_id与循环匹配。但是我无法用cakePhP获取它。再说一次,您是否调试了$cIID变量?--这是截图的链接。我是cakephp的初学者。