jeudi 20 décembre 2018

groupBy is expecting more table columns in many to many relationship

I'm trying to get all the roles permission which has a many to many relationship. I want to get all the permissions of a single role. Here I'm trying to use groupBy but it gives me error.

$search_role = DB::table('roles')
    ->join('roles_permissions','roles_permissions.role_id','roles.id')
    ->join('permissions','permissions.id','roles_permissions.permission_id')
    ->where('roles.name', 'like', "%$request->searcher%")
    ->orWhere('permissions.name', 'like', "%$request->searcher%")            
    ->select('roles.name as role_name', 'permissions.name as permission_name','roles_permissions.*')                                             
    ->groupBy('roles_permissions.role_id')
    ->get();

Error here: roles_permissions.permission_id isn't in groupBy.

If I add that I get another column isn't in groupBy.



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire