@naoumy Relationship between user and creche is many to many right?
$user = Auth::user();
$user->load('creches');
if ($user->roles()->where('title', 'admin')->exists()) {
$users = User::whereHas('roles', function($query) {
$query->where('title', '<>', 'superAdmin');
})->whereHas('creches', function ($query) use ($user) {
$query->where('nom', $user->creches->first()->nom);
})->get();
} else {
$users = User::all();
}
return view('admin.users.index', compact('users'));