tp 子查询在where中使用

浏览:7490 发布日期:2016/10/08 分类:求助交流 关键字: tp 子查询
$subsql = M('category')->field('cat_id')->where(['cat_id'=>['in','1,2,3']])->buildSql();
$goods->where(['cat_id'=>['in', $subsql]])->select();

echo $goods->getLastSql();
// 打印sql
SELECT * FROM `goods` WHERE `cat_id` IN ('( SELECT `cat_id` FROM `category` WHERE `cat_id` IN (\'1\'','\'2\'','\'3\') )')
# 关键在于这样写它将in 里的子查询语句用 ‘’包起来,导致无法奏效

那么正确的在where中的写法是什么

// 当然如果使用字符串形式的可以
->where('cat_id in ' . $subsql)_->

// 我想知道的是数组形式的怎么写
最佳答案
评论( 相关
后面还有条评论,点击查看>>