sql >> Database >  >> RDS >> Mysql

CakePHP nestelt twee geselecteerde zoekopdrachten

je zou waarschijnlijk een subquery() moeten gebruiken:

$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)
));

de bron voor subquery is hier:https://github. com/dereuromark/tools/blob/2.0/Lib/MyModel.php#L405 je moet dit in je AppModel.php

. zetten

MAAR ik denk dat de subquery niet nodig is. U kunt er waarschijnlijk een enkele en gemakkelijke zoekopdracht van maken:

$this->Competence->CompetenceRating->find('all', array(
    'group' => 'competence_id', 
    'conditions' => array('NOT' => 'employee_id'=>$user_id)),
    'contain' => array('Competence')
));

vergeet niet om Competentie op te nemen via "bevatten" als u recursief hebt ingesteld op -1.




  1. Gladde dynamische groupby

  2. Java, MySQL:is er een manier om een ​​MySQL-server in te sluiten in een Java-programma?

  3. SQL Server-blokkeringsquery

  4. Controleer of een tabel wordt verwezen door een externe sleutel in SQL Server met OBJECTPROPERTY()