Měli byste použít uzávěr typu where takto :
$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();
Takže máte kde, nebo kde vytvořit svůj dotaz čistý. Také můžete předat svůj požadavek na použití uvnitř uzávěru. Také můžete použít $q->orWhere k předání funkce uvnitř něj.