J'ai une requête qui renvoie les noms des catégories et leurs sous-catégories.
$subcategories = Subcategory::select('subcategories.name as subcatname', 'categories.name as catname') ->join('categories', 'subcategories.idCategory', '=', 'categories.id') ->get();
Maintenant, le résultat que j'obtiens est le suivant :
'Music' => 'Jazz', 'Music' => 'Rock', 'Music' => 'Pop', 'Movie' => 'Action'
Comment puis-je le regrouper comme ceci :
'Music' => array('Jazz', 'Rock','Pop'), 'Movies' => array('Action')
Est-ce possible sans trop d'itérations de boucle et de vérifier quelle sous-catégorie appartient à quelle catégorie ?
Vous pouvez utiliser Laravel
集合
Vous devez d'abord passer
groupBy
方法进行分组,然后映射
chaque groupe et fusionner chaque sous-tableau.