laravel distinct查询问题,laravel子查询写法

  1. 直接调用后,count查询会和实际查询的数据对不上,count还是查询全部数据,而实际的列表是去重的。
    在这里插入图片描述

laravel distinct查询问题,laravel子查询写法_第1张图片

  1. 给distinct加上参数,比如去重的值的id,就加id。

在这里插入图片描述

laravel distinct查询问题,laravel子查询写法_第2张图片

另一种写法是使用group by id + 子查询。

sql语句:

select count(id) from (
	select xx from tableName
) s

laravel子查询写法:

$model1 = new XXX();
$model1 = $model1->select()->groupBy('id');
$count = $model2->from(DB::raw("({$model1->toSql()}) t")->count();

你可能感兴趣的:(php框架,laravel,php)