我有一个Laravel eloquent查询,可以过滤field
中的重复条目,并返回按时间戳排序的唯一值。
$test = $this->myModel
->orderBy('timestamp', 'desc')
->groupBy('field')
->get();
而不仅仅是过滤'重复,我想计算它们并返回按每个重复项的计数排序的数据。
还可以用数据返回实际的计数数字,还是必须使用两个不同的查询?
答案 0 :(得分:1)
您可以计算groupBy'd字段并按该计数排序。
$test = $this->myModel
->select('my_models.*', 'COUNT(field) as fieldcount')
->orderBy('timestamp', 'desc')
->groupBy('field')
->sortBy('fieldcount', 'desc')
->get();