【发布时间】:2022-01-11 18:56:32
【问题描述】:
我有以下收藏
$collection = collect([
['id' => 1, 'name' => 'Design'],
['id' => 2, 'name' => 'Art'],
['id' => 3, 'name' => 'Comms'],
['id' => 2, 'name' => 'Art'],
['id' => 3, 'name' => 'Comms'],
['id' => 3, 'name' => 'Comms'],
]);
我只想要集合中唯一的项目,并且集合应该按重复的数量排序。因此,重复次数最多的项目必须出现在顶部,如下所示
$collection = collect([
['id' => 3, 'name' => 'Comms'],
['id' => 2, 'name' => 'Art'],
['id' => 1, 'name' => 'Design'],
]);
我可以使用unique 方法删除重复项,但找不到想要排序的对象。
【问题讨论】:
-
或许您应该先对它们进行分组,以便获得计数,然后再映射它们以获得最终结果?
-
您是如何获得该收藏的。这是需要更改的查询。
-
您可以在集合中使用
sortBy方法对数据进行排序。
标签: laravel laravel-collection