使用条件cakePHP显示数据时出错

时间:2017-04-28 03:18:44

标签: php arrays json cakephp

我有一个名为SubjectTutorTopic的数据库表。我想显示具有相同school_idsubject_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 */));
}

请帮助我真的很困惑。

1 个答案:

答案 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。清楚地描述您的问题以及您自己为解决问题所做的工作。你需要什么以及你得到什么必须得到恰当的解释。