laravel when
/* you may only want to apply a where statement if a given input value
is present on the incoming request.
*/
$role = $request->input('role');
$users = DB::table('users')
->when($role, function ($query, $role) {
return $query->where('role_id', $role);
})
->get();