ajt
ajt

Reputation: 662

cant get required records from habtm in cakephp

In Cakephp I need to get the tutors who teach a subject 'primary English'. Instead I get all the tutors with any subject so the condition gets ignored with no error. There is a habtm relationship between tutors and subjects they teach.

 $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'
                )
            ),

Upvotes: 1

Views: 26

Answers (1)

John williams
John williams

Reputation: 731

Remove 'recursive' => -1. This prevents it from selecting relationships recursively. If this still doesn't work then put 'recursive' => 2 in.

Upvotes: 1

Related Questions