sql >> Base de Datos >  >> RDS >> Mysql

Laravel Query Builder - Cláusulas condicionales avanzadas (parámetros opcionales)

Deberías usar un cierre where como este:

    $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();

Así que tienes dónde, o Dónde formar tu consulta limpia. También puede pasar su solicitud para usarlo dentro del cierre. También puede usar la función $q->orWhere to pass dentro de ella.