Tôi có hai bảng gọi calendar_colour và dễ sử dụng,CakePHP phức tạp tìm "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)
)
Trong add chức năng của người sử dụng tôi phải chọn một màu từ hộp thả xuống. Nhưng tôi muốn đưa vào danh sách thả xuống bằng các màu chưa được người dùng trước đó chụp. Tôi đã thử sử dụng lệnh find nhưng dường như nó sai.
$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)))));
Tôi sử dụng mảng $colours
để điền vào hộp thả xuống. Cách chính xác để viết lệnh tìm thấy những màu không được sử dụng bởi bất kỳ người dùng nào.
Cảm ơn.
Tôi có thể đề nghị bạn sử dụng nhiều dòng để viết bất kỳ loại truy vấn? Như tôi đã làm trong câu trả lời của tôi. Nó chỉ làm cho nó dễ dàng hơn để hiểu :) – Ariaan