Support the ongoing development of Laravel.io →
Eloquent Laravel

Can someone please guide me on how I can write this below query in laravel by using eloquent ORM and with QUERY Builder as well? The below code is in custom PHP, but I want to use it in laravel. I am trying to develop product filters with ajax request, filters are appearing in the sidebar when someone clicks on any filter then the system will fetch data from a database that is associated with filters, all my filters will be work as a checkbox. I don't know how I can achieve this concatenation in the laravel.

if(isset($_POST["action"])) { $query = " SELECT * FROM product WHERE product_status = '1' "; if(isset($_POST["minimum_price"], $_POST["maximum_price"]) && !empty($_POST["minimum_price"]) && !empty($_POST["maximum_price"])) { $query .= " AND product_price BETWEEN '".$_POST["minimum_price"]."' AND '".$_POST["maximum_price"]."' "; } if(isset($_POST["brand"])) { $brand_filter = implode("','", $_POST["brand"]); $query .= " AND product_brand IN('".$brand_filter."') "; } if(isset($_POST["ram"])) { $ram_filter = implode("','", $_POST["ram"]); $query .= " AND product_ram IN('".$ram_filter."') "; } if(isset($_POST["storage"])) { $storage_filter = implode("','", $_POST["storage"]); $query .= " AND product_storage IN('".$storage_filter."') "; }

$statement = $connect->prepare($query);
$statement->execute();
$result = $statement->fetchAll();
$total_row = $statement->rowCount();
$output = '';
if($total_row > 0)
{
    foreach($result as $row)
    {
        $output .= '
        <div class="col-sm-4 col-lg-3 col-md-3">
            <div style="border:1px solid #ccc; border-radius:5px; padding:16px; margin-bottom:16px; height:450px;">
                <img src="image/'. $row['product_image'] .'" alt="" class="img-responsive" >
                <p align="center"><strong><a href="#">'. $row['product_name'] .'</a></strong></p>
                <h4 style="text-align:center;" class="text-danger" >'. $row['product_price'] .'</h4>
                <p>Camera : '. $row['product_camera'].' MP<br />
                Brand : '. $row['product_brand'] .' <br />
                RAM : '. $row['product_ram'] .' GB<br />
                Storage : '. $row['product_storage'] .' GB </p>
            </div>

        </div>
        ';
    }
}
else
{
    $output = '<h3>No Data Found</h3>';
}
echo $output;

}

Last updated 3 years ago.
0

Sign in to participate in this thread!

Eventy

Your banner here too?

Moderators

We'd like to thank these amazing companies for supporting us

Your logo here?

Laravel.io

The Laravel portal for problem solving, knowledge sharing and community building.

© 2025 Laravel.io - All rights reserved.