Ho due tabelle denominate calendar_colour e l'utente,complesso CakePHP trovare "NOT IN"
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)
)
Nella funzione aggiunta dell'utente devo scegliere un colore da una casella a discesa. Ma voglio popolare il menu a discesa utilizzando i colori che non sono già stati presi dagli utenti precedenti. Ho provato a usare un comando di ricerca ma sembra sbagliato.
$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)))));
Io uso la matrice $colours
per popolare la casella a discesa. Qual è il modo corretto di scrivere il comando find che trova i colori che non sono utilizzati da nessun utente.
Grazie.
potrei suggerire di usare più righe di scrivere qualsiasi tipo di query? Come ho fatto nella mia risposta. Rende solo più facile da capire :) – Ariaan