top-think / think

ThinkPHP Framework ——十年匠心的高性能PHP框架
http://www.thinkphp.cn
Other
7.83k stars 1.62k forks source link

[6.0.12 LTS]Db where生成的语句有误,指定in还是变成= #1114

Open wuyifan66 opened 2 years ago

wuyifan66 commented 2 years ago

Db::table('think_user') ->where('id', 'IN', function ($query) { $query->table('think_profile')->where('status', 1)->field('id'); }) ->select();

这个查询的不是in,是=,怎么解决

同样 Db::table('think_user') ->where('id', 'IN', '(select user_id from think_vips)') ->select();

生成的语句为 select from think_user where id = (select user_id from think_vips) 预期的则是 select from think_user where id in (select user_id from think_vips)

zcenet commented 2 years ago

邮箱已收到,谢谢你的支持,祝你生活愉快~~=================================杨怀桂手机:13698971401

liu21st commented 2 years ago

这个写法建议用whereExp方法查询 in查询默认会自动识别 如果不是数组 就不用会用in