ngtfkx/laradeck-collection-macros

A set of useful Laravel collection macros

1.1.0 2017-08-28 12:47 UTC

This package is not auto-updated.

Last update: 2024-12-22 05:50:11 UTC


README

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.