Laravel 5:需要按每个组的第一项的属性对分组集合进行排序

时间:2017-04-26 17:00:28

标签: php laravel laravel-5 eloquent

我有一些来自我的数据库的Eloquent模型项的集合,它们使用groupBy()按属性分组,我需要按照每个组的第一项的另一个属性对该集合进行排序,但保留初始结构。如果可能的话,我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:2)

groupBy会返回一个集合,因此您仍然可以使用sortBy方法。您需要使用回调来从每个组中的第一个项获取属性值,而不是仅仅给它一个字符串。

$sorted = $groups->sortBy(function ($group, $key) {
    return $group->first()->someAttribute;
});