В 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(),
];
});
Читать далее: http://phpprofi.ru/blogs/post/97
En: https://christoph-rumpel.com/2018/01/groupby-multiple-levels-in-laravel
Top comments (0)