Laravel雄辩地排序大多数重复

时间:2016-08-04 15:26:50

标签: php mysql laravel laravel-5

我有一个Laravel eloquent查询,可以过滤field中的重复条目,并返回按时间戳排序的唯一值。

$test = $this->myModel
    ->orderBy('timestamp', 'desc')
    ->groupBy('field')
    ->get();

而不仅仅是过滤'重复,我想计算它们并返回按每个重复项的计数排序的数据。

还可以用数据返回实际的计数数字,还是必须使用两个不同的查询?

1 个答案:

答案 0 :(得分:1)

您可以计算groupBy'd字段并按该计数排序。

$test = $this->myModel
    ->select('my_models.*', 'COUNT(field) as fieldcount')
    ->orderBy('timestamp', 'desc')
    ->groupBy('field')
    ->sortBy('fieldcount', 'desc')
    ->get();