0

I am trying to retrieve records from a primary and associated model where the associated model has a condition on it. The is a basic one to many relationship. The WpPosts is the primary and i want all associated rows from WpPostmetas that have the meta_value of lead_data from a data range. The below code does this but it also including null associated models to the WpPost output. The below data should not have been retrieved. How do i prevent the below data from being retrieved?

object(App\Model\Entity\WpPost) {

    'ID' => (int) 1997,
    'post_author' => (int) 1,
    'post_date' => object(Cake\I18n\FrozenTime) {

        'time' => '2018-09-27T12:08:40+00:00',
        'timezone' => 'UTC',
        'fixedNowTime' => false

    },
    'post_date_gmt' => object(Cake\I18n\FrozenTime) {

        'time' => '2018-09-27T12:08:40+00:00',
        'timezone' => 'UTC',
        'fixedNowTime' => false

    },
    .....
    'comment_count' => (int) 0,
    'wp_postmetas' => [],  //see null value should be included



///query works but also included null associated models

$q2= $this->WpPosts->find()->contain('WpPostmetas', function ($q) {
    return $q
        ->where(['meta_key LIKE' =>  '%lead_data%' ]);
})
       ->where(['WpPosts.post_date >=' => $searchDate ])  
              ->order(['WpPosts.id' => 'DESC'])
              ->enableHydration(true);

0 Answers0