执行此操作时出错
$excludedFlows = $this->FlowsPredefined->find('all',[
'conditions' => [
'category' => self::INCREASE_CUSTOMER_LOYALTY_FLOWS_CATEGORY,
'is_new' => 1,
'channel' => 'all'
]
])
->select('id')
->all();
$conditions['FlowsPredefined.id NOT IN'] = $excludedFlows;
错误为:
无法为字段(FlowsPredefined
. id
)生成值列表为空的条件
变量excludedFlows
不是空的。我有6个结果在里面。如何在cakePHP中执行NOT IN?
1条答案
按热度按时间j9per5c41#
您传递的不是查询,而是结果集,因为您调用的是
all()
,并且不支持将结果集作为条件值。如果希望实际使用子查询,则不要调用
all()
,或者,如果适用(您不希望对巨大的数字或结果执行此操作),则将ID提取到一个数组中,如->all()->extract('id')->toList()
。