DEV Community

Php Profi
Php Profi

Posted on • Originally published at phpprofi.ru on

GroupBy по нескольким значениям в Laravel

В Laravel начиная с версии 5.5.29 можно группировать коллекции по нескольким критериям. Давайте посмотрим, что это означает и как это работает.

Подготовка

Итак, эта статья о новой функциональности в фреймворке Laravel. Но прежде чем мы посмотрим как она работет сейчас, давайте посмотрим как она работала раньше. Метод groupBy является методом класса Collection. Для наших примеров я создам немного данных, с которыми мы будем работать. Students будет фабрикой состояний для передаваемого класса User.

// Default user factory which comes with Laravel
$factory->define(App\User::class, function (Faker $faker) {
    return [
        'name' => $faker->name,
        'email' => $faker->unique()->safeEmail,
        'password' => '$2y$10$TKh8H1.PfQx37YgCzwiKb.KjNyWgaHb9cbcoQgdIVFlYg7B77UdFm', // secret
        'remember_token' => str_random(10),
    ];
});

// Our new students state
$factory->state(App\User::class, 'students', function (Faker $faker) {
    return [
        'skilllevel' => collect(['beginner', 'intermediate', 'professional'])->random(),
        'teacher' => collect(['Peter', 'Markus', 'Chris'])->random(),
    ];
});
Enter fullscreen mode Exit fullscreen mode

Читать далее: http://phpprofi.ru/blogs/post/97


En: https://christoph-rumpel.com/2018/01/groupby-multiple-levels-in-laravel

Top comments (0)