使用子查询和Db::query结果不一致,子查询永远错误,求解

浏览:424 发布日期:2019/04/02 分类:求助交流 关键字: 子查询 buildSql fetchSql
碰到一个奇怪的问题$subQuery = $userParent->field('user_id')->where('parent_id', $id)->where('user_id', '<>', $id)->buildSql();
            echo $agent->where('user_id', 'in', $subQuery)->where('status', 1)->count();
执行结果为0

查日志发现执行的SQL语句是SELECT COUNT(*) AS tp_count FROM `xxx_agent` WHERE `user_id` IN ( ( SELECT `user_id` FROM `xxx_user_parent` WHERE `parent_id` = 21)) AND `status` = 1 LIMIT 1用这个去数据库执行结果是2

用 Db::query() 执行结果也是2

如果把第一句改成 $userParent->where('parent_id', $id)->where('user_id', '<>', $id)->column('user_id');就对了
最佳答案
评论( 相关
后面还有条评论,点击查看>>