我有一个名为SubjectTutor
和Topic
的数据库表。我想显示具有相同school_id
和subject_id
的主题列表。从json解码subject_id
。但我没有school_id
,所以我想从school_id
表中取SubjectTutor
。我正在使用cakephp。
问题是:
数据不会显示或找不到记录但我有数据库的数据。但如果我更改$ school_id = $ this-> SubjectTutor->找到(' 第一个',数组('字段' =>数组( '学校ID'),'条件' = GT;阵列(' SubjectTutor.tutor_id' = GT; $ tutor_id)));
然后会显示数据但不会显示所有数据。
这是print_r($ value):
Array ( [SubjectTutor] => Array ( [school_id] => 452 ) ) Array ( [SubjectTutor] => Array ( [school_id] => 453 ) ) Array ( [SubjectTutor] => Array ( [school_id] => 454 ) ) Array ( [SubjectTutor] => Array ( [school_id] => 67 ) )
这是WebServicesController.php:
$school_id = $this->SubjectTutor->find('all',array('fields'=>array('school_id'),'conditions'=>array('SubjectTutor.tutor_id'=>$tutor_id)));
foreach ($school_id as $key => $value)
{
print_r($value);
$all_topics = $this->Topic->find('all',array('conditions'=>array('Topic.subject_id'=>$decoded['subject_id'],'Topic.school_id'=>$value['SubjectTutor']['school_id']),'order'=>'Topic.name ASC'/* ,'limit'=>$limit,'offset'=>$offset */));
}
请帮助我真的很困惑。
答案 0 :(得分:0)
此声明没有问题$school_id = $this->SubjectTutor->find('all',array('fields'=>array('school_id'),'conditions'=>array('SubjectTutor.tutor_id'=>$tutor_id)));
。如果您没有获得所有数据,那么表格映射/数据可能会出现问题。
此查询$school_id = $this->SubjectTutor->find('first',array('fields'=>array('school_id'),'conditions'=>array('SubjectTutor.tutor_id'=>$tutor_id)));
返回与where条件匹配的第一个结果。您可以在cakephp 3 here和cakephp 2 here中阅读有关从数据库中获取数据的更多信息。
P.S。清楚地描述您的问题以及您自己为解决问题所做的工作。你需要什么以及你得到什么必须得到恰当的解释。