cakephp 无法将子查询添加到查询

y53ybaqx  于 2022-11-11  发布在  PHP
关注(0)|答案(1)|浏览(224)

执行此操作时出错

$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?

j9per5c4

j9per5c41#

您传递的不是查询,而是结果集,因为您调用的是all(),并且不支持将结果集作为条件值。
如果希望实际使用子查询,则不要调用all(),或者,如果适用(您不希望对巨大的数字或结果执行此操作),则将ID提取到一个数组中,如->all()->extract('id')->toList()

相关问题