【问题标题】:Laravel 5: Need to sort a grouped collection by an attribute of first item of each groupLaravel 5:需要按每个组的第一项的属性对分组集合进行排序
【发布时间】:2017-04-26 17:00:27
【问题描述】:

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

【问题讨论】:

  • 您应该提供一些示例数据,以便您的问题更清楚。

标签: php laravel laravel-5 eloquent


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-15
    相关资源
    最近更新 更多