breemark's avatar

How can I translate a FILTER code from normal PHP to Laravel 5.1 PHP format?

$query = "select * from products ";
 
 
//FILTERS
if($filterSh == "PEONIA") {
$query = $query." where FieldSH = '$filterSh' ";
} else  {
$query = $query." where FieldSH != 'PEONIA' ";
 }
$query = $query."   and FieldCT >= $filterCtMin ";
$query = $query."   and FieldCT <= $filterCtMax ";
$query = $query." order by FieldNo ";
0 likes
1 reply
lostdreamer_nl's avatar
Level 53

If you're using Eloquent and have a Product model:

$query = Products::where('FieldCT', '>=', $filterCtMin)
    ->where('FieldCT', '<=', $filterCtMax);
if($filterSh) {
    $query = $query->where('FieldSH', $filterSh);
} else {
    $query = $query->where('FieldSH', '!=', 'PEONIA');
}

$results = $query->orderBy('FieldNo')->get();
dd($results);

That should work.

If you don't have a model you could use the query builder:


$query = \DB::table('products')::where('FieldCT', '>=', $filterCtMin)
    ->where('FieldCT', '<=', $filterCtMax);
if($filterSh) {
    $query = $query->where('FieldSH', $filterSh);
} else {
    $query = $query->where('FieldSH', '!=', 'PEONIA');
}

$results = $query->orderBy('FieldNo')->get();
dd($results);
1 like

Please or to participate in this conversation.