2017-02-15 32 views
0

Это мне не ясно, как я могу принести записи, которые не имеют ссылку в другом ряду, используя contain() в CakePHPCakePHP 3.x выбрать содержат, где строка NULL

public function initialize(array $config) 
{   
    $this->hasmany('Prior', [ 
     'className' => 'Prior', 
     'foreignKey' => 'photoID' 
    ]); 
} 

public function search() 
{ 
    $query = $this->find('all')->contain(['Prior']); 
    return $query; 
} 

Это возвращает что-то вроде:

-> results 
    ->0 
    ->ID = 1 
    ->Prior = null 

    ->1 
    ->ID = 2 
    ->Prior = array() 

    ->2 
    ->ID = 3 
    ->Prior = array() 

    ->3 
    ->ID = 4 
    ->Prior = null 

Как я могу вернуть только результаты NULL?

ответ

1

использование notMatching (см cookbook)

$this->find('all') 
    ->contain(['Prior']) 
    ->notMatching('Prior'); 
+0

Это просто, спасибо большое! – Joost