【问题标题】:Cakephp complex find "NOT IN"Cakephp 复杂找到“不在”
【发布时间】:2012-10-25 22:09:13
【问题描述】:

我有两个名为 calendar_colour 和 user 的表,

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

在用户的添加功能中,我必须从下拉框中选择一种颜色。但我想使用以前用户尚未采用的颜色填充下拉列表。我尝试使用 find 命令,但它似乎是错误的。

$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 命令的正确方法是什么。

谢谢。

【问题讨论】:

  • 我可以建议您使用多行来编写任何类型的查询吗?就像我在回答中所做的那样。它只是让它更容易理解:)

标签: cakephp find notin


【解决方案1】:

你差点就吃完了:

$this->EventType->CalendarColour->find('list', array(
  'conditions' => array(
    'NOT' => array( // There's your problem! :)
      'CalendarColour.colour_id' => $curColours
    )
  )
));

【讨论】:

  • 在一定程度上感谢您的帮助!但是当我添加一个用户然后尝试添加另一个用户时,我收到了一个错误,提示未知列“Array”。
猜你喜欢
  • 2012-04-12
  • 1970-01-01
  • 2012-08-27
  • 2013-04-14
  • 2012-10-21
  • 1970-01-01
  • 1970-01-01
  • 2012-12-30
  • 2014-05-15
相关资源
最近更新 更多