ngtfkx / laradeck-collection-macros by ngtfkx

A set of useful Laravel collection macros
8
1
1
Package Data
Maintainer Username: ngtfkx
Maintainer Contact: den.sandal@gmail.com (Denis Sandal)
Package Create Date: 2017-08-27
Package Last Update: 2017-08-28
Home Page:
Language: PHP
License: MIT
Last Refreshed: 2024-03-25 03:05:00
Package Statistics
Total Downloads: 8
Monthly Downloads: 0
Daily Downloads: 0
Total Stars: 1
Total Watchers: 1
Total Forks: 0
Total Open Issues: 0

laradeck-collection-macros

Latest Version on Packagist Software License Coverage Status Quality Score Total Downloads

Набор макросов для расширения стандартного функционала Illuminate\Support\Collection

Install

Via Composer

$ composer require ngtfkx/laradeck-collection-macros

Documentation

forSelect(string $valueName, string $keyName = 'id'): array

Метод возвращает ассоциативный массив, где в качестве ключа используется свойство $keyName элемента коллекции, а в качестве значения свойство $valueName.

$arr = [
    ['id' => '10', 'name' => 'First', ],
    ['id' => '20', 'name' => 'Second', ],
    ['id' => '30', 'name' => 'Third', ],
];
$collect = new Collection($arr);
$keyValueArray = $collect->forSelect('name')
//[
//    '10' => 'First',
//    '20' => 'Second',
//    '30' => 'Third',
//]

forSelectWithPrepend(string $valueName, string $keyName = 'id', array $prepend = ['' => 'Выбрать']): array

Аналогично forSelect, только в начало массива добавляютсся данные из массива $prepend

randomSafe (int $number = null): mixed

Аналог стадандртного метода random, но в случае если размер коллекции меньше запрашиваемого числа элементов не выкидывается ошибка, а возвращается столько элементов сколько есть в коллекции

$collect = new Collection([1, 2, 3]);
$randoms = $collect->randomSafe(10);
echo sizeof($randoms); // 3

Change log

Please see CHANGELOG for more information on what has changed recently.

Credits

License

The MIT License (MIT). Please see License File for more information.