where clause for multiple value in laravel code example

Example 1: multiple logical condition in laravel query

// ...
$q->where(function ($query) {
    $query->where('gender', 'Male')
        ->where('age', '>=', 18);
})->orWhere(function($query) {
    $query->where('gender', 'Female')
        ->where('age', '>=', 65);	
})

Example 2: multiple orwhere condition in laravel

public function index()
    {
        $search = "Har";
  
        $users = User::select("*")->where('status', 1)
                  ->where(function($query) use ($search){
                   $query->where('first_name', 'LIKE', '%'.$search.'%')
                   ->orWhere('last_name', 'LIKE', '%'.$search.'%')
                   ->orWhere('email', 'LIKE', '%'.$search.'%');
                    })->get();
  
        dd($users);
    }

# With Join
  public function index()
    {
        $search = "Har";
  
        $users = User::select("*")->where('status', 1)
                  ->where(function($query) use ($search){
                   $query->where('first_name', 'LIKE', '%'.$search.'%')
                   ->orWhere('last_name', 'LIKE', '%'.$search.'%')
                   ->orWhere('email', 'LIKE', '%'.$search.'%');
                    })
          ->join('users_roles', 'users.id', '=', 'users_roles.user_id')
          ->where('users_roles.role_id', '=', Role::USER_PARTICIPANT)->get();
  
        dd($users);
    }

Tags:

Php Example