102
switch(count($explodedCreated)){
case2:
return$query->whereBetween('created_at',[$explodedCreated[0],$explodedCreated[1]]);
case1:
return$query->where('created_at','>=',$explodedCreated[0]);
default:
returnfalse;
}
})
->when($clientField,function($query)use($clientField){
$queryTwo="clients.id like '%".$clientField."%' OR "
."clients.f_name like '%".$clientField."%' OR "
."clients.l_name like '%".$clientField."%' OR"
."clients.m_name like '%".$clientField."%'"
."";
return$query->whereExists(function($query)use($queryTwo){
$query->select(DB::raw('id, f_name, l_name, m_name'))
->from('clients')
->whereRaw($queryTwo);
});
})
->when(($sqMin&&$sqMax),function($query)use($sqMin,$sqMax){
return$query
->where(function($query)use($sqMin,$sqMax){
$query->where('sq','<=',$sqMax)
->where('sq','>=',$sqMin);
});
})
->when(($sqMin),function($query)use($sqMin){
return$query->where('sq','>=',$sqMin);
})
->when(($sqMax),function($query)use($sqMax){
return$query->where('sq','<=',$sqMax);
})
->when(($priceMin&&$priceMax),function($query)use($priceMin,$priceMax){
return$query
->where(function($query)use($priceMin,$priceMax){
$query->where('price','<=',$priceMax)
->where('price','>=',$priceMin);
});
})
->when(($priceMin),function($query)use($priceMin){
return$query->where('price','>=',$priceMin);
})
->when(($priceMax),function($query)use($priceMax){
return$query->where('price','<=',$priceMax);
})
->when(($countRoom),function($query)use($countRoom){
return$query->whereIn('count_room',$countRoom);
})
->limit(15)
->paginate(15);
}
}
<?php
namespaceApp\Http\Controllers;
useApp\Http\Requests\ClientRequest;
useIlluminate\Http\Request;
useApp\Client;
useIlluminate\Support\Facades\Validator;