Theme
Primary Color

تجميع العناصر حسب قسمها بإستخدام groupBy

ال groupBy بتقسم Collection لمجموعات بناء على قيمة مشتركة بين العناصر

تجميع أسماء كل فريق

نختار الفريق كمفتاح للتجميع ثم نقرأ أسماء أعضاء فريق واحد

<?php

$users = collect([["name" => "Osama", "team" => "A"], ["name" => "Mona", "team" => "B"], ["name" => "Ali", "team" => "A"]]);
echo $users->groupBy("team")->get("A")->pluck("name")->toJson();

النتيجة

["Osama","Ali"]

حساب عدد عناصر كل مجموعة

ال map بتحول كل مجموعة إلى عدد عناصرها

<?php

$items = collect([["type" => "book"], ["type" => "pen"], ["type" => "book"]]);
echo $items->groupBy("type")->map(fn ($group) => $group->count())->toJson();

النتيجة

{"book":2,"pen":1}
laravel شرح