prawdopodobnie musiałbyś użyć podzapytania():
$subqueryOptions = array('fields' => array('competence_id'), 'conditions' => array('employee_id'=>$user_id));
$subquery = $this->Competence->CompetenceRating->subquery('all', $subqueryOptions);
$res = $this->Competence->CompetenceRating->find('all', array(
'conditions' => array('id NOT IN '. $subquery)
));
źródło podzapytania znajduje się tutaj:https://github. com/dereuromark/tools/blob/2.0/Lib/MyModel.php#L405 musisz to umieścić w AppModel.php
ALE myślę, że podzapytanie nie jest konieczne. Prawdopodobnie możesz z tego zrobić jedno i łatwe zapytanie:
$this->Competence->CompetenceRating->find('all', array(
'group' => 'competence_id',
'conditions' => array('NOT' => 'employee_id'=>$user_id)),
'contain' => array('Competence')
));
nie zapomnij uwzględnić kompetencji za pomocą "zawieraj", jeśli masz rekursywnie ustawioną na -1.