Cakephp complexe de trouver des “NON”

J'ai deux tables appelé calendar_colour et de l'utilisateur,

calendar_colour
(
   colour_id int primary key,
   colour varchar(15)
)


user
(
   id int primary key,
   name varchar(30),
   color int,
   foreign key(color) references calendar_colour(colour_id)
)

Dans la fonction d'ajout de l'utilisateur-je choisir une couleur à partir d'une zone de liste déroulante. Mais je veux remplir la liste déroulante en utilisant les couleurs qui ne sont pas déjà prises par les précédents utilisateurs. J'ai essayé d'utiliser une commande rechercher, mais il semble être erronée.

$curColours = $this->EventType->query('select color from event_types');

$this->set('colours', $this->EventType->CalendarColour->find('list',array('conditions'=>array('NOT',array('CalendarColour.colour_id' => $curColours)))));

- Je utiliser le tableau $colours pour remplir la zone de liste déroulante. Quelle est la façon correcte d'écrire la commande find qui trouve les couleurs qui ne sont pas utilisés par tous les utilisateurs.

Grâce.

  • Pourrais-je vous suggérons d'utiliser plusieurs lignes à écrire n'importe quel type de requête? Comme je l'ai fait dans ma réponse. Il est tout simplement plus facile à comprendre 🙂
InformationsquelleAutor user1563210 | 2012-11-06