Cómo agrupar por muchas a muchas relaciones en Laravel
Tengo este modelo básico de base de datos Me gustaría agrupar a todos los usuarios por nombre de rol es decir, quiero enumerar los usuarios que son administradores y los demás en dos colecciones.
Modelo de base de datos

Intenté hacer esto, pero solo funciona para una a muchas relaciones
User::with('roles’)->get()->groupBy(‘roles.name’);
Mostrar la mejor respuesta
Publicado : 1 January, 2021 @ 13:36
Utilice el comodín *
para omitir una matriz:
User::with('roles')->get()->groupBy('roles.*.name');
Publicado : 1 January, 2021 @ 14:22
Sería bueno una pequeña explicación de lo que se salta el comodín (*).
Publicado : 1 January, 2021 @ 15:28
suponga que la tabla dinámica role_user contiene una columna 'tipo'. ¿Cómo podemos agrupar a los usuarios por esta columna?
Publicado : 1 January, 2021 @ 15:54
@AhmedIbrahimMeraneh agregue ->withPivot('type')
a la relación roles
del modelo User
y use groupBy('roles.*.pivot.type')
Publicado : 1 January, 2021 @ 16:27