2015-04-29 31 views
1

在Cakephp中,我需要获得教授主题'初级英语'的导师。相反,我得到所有与任何主题的导师,所以条件被忽略,没有错误。导师和他们教授的科目之间存在着一种恶性关系。无法从cakephp的habtm中获得所需的记录

$this->Tutor->Behaviors->load('Containable'); 
     $tutors=$this->Tutor->find('all',array(
      'contain' => array('Subject',array('conditions'=> array('Subject.name' => 'Primary English'))), 
      'contain' => array('Subject'), 


     'recursive' =>-1, 
       // 'order'=> $orderoptions, 
      'fields'=>array('Tutor.last_name', 'Tutor.first_name','Tutor.id'), 

       )); 
      debug($tutors); 


array(
    (int) 0 => array(
     'Tutor' => array(
      'last_name' => 'Wyers', 
      'first_name' => 'Adele', 
      'id' => '13' 
     ), 
     'Subject' => array() 
    ), 
    (int) 1 => array(
     'Tutor' => array(
      'last_name' => 'Payet', 
      'first_name' => 'Allison', 
      'id' => '7' 
     ), 
     'Subject' => array(
      (int) 0 => array(
       'id' => '4', 
       'name' => 'English - Year 11', 
       'TutorsSubject' => array(
        'id' => '30', 
        'tutor_id' => '7', 
        'subject_id' => '4' 
       ) 
      ), 
+0

在你发现''包含''数组定义两次,第二个定义没有条件。也许删除第二个修复你的问题 –

回答

1

删除'recursive'=> -1。这可以防止它递归地选择关系。如果这仍然不起作用,然后把'递归'=> 2英寸