5

私はcalendar_colourとuserという2つのテーブルを持っています。

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

ユーザーの追加機能では、ドロップダウンボックスから色を選択する必要があります。ただし、以前のユーザーがまだ使用していない色を使用してドロップダウンにデータを入力したいと思います。検索コマンドを使ってみましたが、間違っているようです。

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

配列を使用し$coloursてドロップダウンボックスにデータを入力します。ユーザーが使用していない色を検索するfindコマンドを作成する正しい方法は何ですか。

ありがとう。

4

1 に答える 1

13

あなたはほとんどそれを持っていました:

$this->EventType->CalendarColour->find('list', array(
  'conditions' => array(
    'NOT' => array( // There's your problem! :)
      'CalendarColour.colour_id' => $curColours
    )
  )
));
于 2012-11-06T01:07:30.953 に答える