anthony-dee/collection-macros

一组用于 Laravel Collection 类的有用扩展宏

v0.0.1 2022-04-19 20:20 UTC

This package is auto-updated.

Last update: 2024-09-20 01:49:16 UTC


README

Packagist 上的最新版本 此包包含一些扩展 Laravel Collection 的宏。目前仅包含一个,即 pluckThenGroupBy

安装

您可以通过 composer 安装此包

composer require anthony-dee/collection-macros

使用方法

pluckThenGroupBy

这是原生 groupBypluck 方法的组合。它接受最多三个键,至少两个。第一个是 $groupBy 键,第二个($pluckValue)是用于提取的值,第三个(如果提供),用于将提取的值作为键。

此宏的一个很好的用途是为准备一个用于 optgroup 标签、option 值和文本的数据源的集合。

$collection = collect([
            ['id' => 1, 'name' => 'Lesson 1', 'module' => 'Basics', 'reward' => 'gold'],
            ['id' => 2, 'name' => 'Lesson 2', 'module' => 'Basics', 'reward' => 'silver'],
            ['id' => 3, 'name' => 'Lesson 3', 'module' => 'Advanced', 'reward' => 'silver'],
            ['id' => 4, 'name' => 'Lesson 4', 'module' => 'Advanced', 'reward' => 'gold'],
            ['id' => 5, 'name' => 'Lesson 4', 'module' => 'Advanced', 'reward' => 'silver'],
        ]);

$collection->pluckThenGroupBy('module', 'reward', 'name');

// [
//   "Basics" =>  [
//     "Lesson 1" => "gold"
//     "Lesson 2" => "silver"
//   ]
//   "Advanced" =>  [
//     "Lesson 3" => "silver"
//     "Lesson 4" => "silver"
//   ]
// ]

贡献

有关详细信息,请参阅 CONTRIBUTING

致谢

许可

MIT 许可证 (MIT)。有关更多信息,请参阅 许可文件

Laravel 包模板

此包是使用 Laravel 包模板 生成的。