Siema, SQL nigdy nie był i nie jest moja najlepsza strona, dlatego mam dla was pytanie
mam tabele users oraz **roles ** powiązane many-to-many, co w rezultacie daje pośredniczącą tabelę role_user
teraz chce znaleźć użytkowników którzy nie należą do danej roli, więc rozwiązałem to w ten sposób:
Pierw pobieram uzytkownikow którzy należą do podanej wczesniej roli
$ids = DB::table('role_user')
->where('role_id', $role->id)
->pluck('user_id')
->toArray();
Następnie szukam tylko tych, którzy nie znajdują się w powyższej tablicy
$users = DB::table('users')
->whereNotIn('id', $ids);
Oczywiście dostaje mój żądany wynik, ale
czy jest jakieś lepsze, szybsze,krótsze, bardziej czytelniejsze rozwiązanie?