$tpSql1 = Db::name('order')->where('saled_id', 'in', '1,2,3,4,5')->group('saled_id')->having('count(*)=1')->buildSql();
$oCount = Db::table($tpSql1.' a')->count();
类似 这样的语句时源码: think\db\Builder 190行
$tables = array_map([$this, 'parseKey'], explode(',', $tables));
此时 $tables的值为: '( SELECT * FROM `tp_order` WHERE `saled_id` IN (1,2,3,4,5) GROUP BY saled_id HAVING count(*)=1 ) a'
执行上面源码array_map语句, 应该是错误的, 需要区别考虑 子查询table和非子查询情况处理希望修复一下哈, 谢谢
最佳答案
