- 直接调用后,count查询会和实际查询的数据对不上,count还是查询全部数据,而实际的列表是去重的。
- 给distinct加上参数,比如去重的值的id,就加id。
另一种写法是使用group by id + 子查询。
sql语句:
sql
select count(id) from (
select xx from tableName
) s
laravel子查询写法:
php
$model1 = new XXX();
$model1 = $model1->select()->groupBy('id');
$count = $model2->from(DB::raw("({$model1->toSql()}) t")->count();