Mysql
 sql >> Base de données >  >> RDS >> Mysql

Laravel Query Builder - Clauses conditionnelles avancées (paramètres facultatifs)

Vous devriez utiliser la fermeture where comme ceci :

    $q->where(function($q) use($request) {
     if($request->code)
     {
       $q->orWhere('postal_code ','LIKE','%'.$request->code.'%');
     }

     if($request->city)
     {
       $q->orWhere('city','LIKE','%'.$request->code.'%');
     }

     if($request->companyName)
     {
      $q->where('companyName',.....);
     }
})->get();

Vous avez donc où, ou où formuler votre requête proprement. Vous pouvez également transmettre votre demande pour l'utiliser à l'intérieur de la fermeture. Vous pouvez également utiliser $q->orWhere pour passer la fonction à l'intérieur.