首页 > 解决方案 > Laravel 将查询与 if 语句结合起来

问题描述

我正在使用 AJAX 进行产品过滤。有没有可能使用查询生成器产生与下图所示相同的输出?

php代码

我试过联合,但它不起作用。

标签: ajaxlaravelquery-builderlaravel-query-builder

解决方案


在 laravel 中,您可以为产品创建模型 say Product。然后查询将像

$products = Product::where('product_status', '1');
if ($request->input('minimum_price') && $request->input('maximum_prize')) {
    $products = $products->whereBetween('product_prize', array($request->input('minimum_price'), $request->input('maximum_prize')));
}
if ($request->input('brand')){
    $brand_filter = implode("','", $request->input('brand'));
    $products = $products->whereIn('product_brand', $brand_filter);
}
$products = $products->get();

执行后$products包含查询后的产品。


推荐阅读