laravel orWhere查询

闭包

这种方式将 or 部分写成 closure 传入 where(),与 Eloquent 风格一致,可读性较好。代码如下:

if (!empty($keyword)) {
    $goodsModel = $goodsModel->where(function ($query) use ($keyword) {
        $query->where('name', 'like', "%{$keyword}%")->orWhere('barcode', 'like', "%{$keyword}%");
    });
}

原生

实在想不出怎么写,就写原生 SQL 好了。这也是最后一种保险但不提倡的做法了吧,代码如下:

if (!empty($keyword)) {
    $keyword = "%{$keyword}%";
    $goodsModel = $goodsModel->whereRaw('(name like ? or barcode like ?)', [$keyword, $keyword]);
}

转自https://laravel-china.org/articles/6044/laravel-series-orwhere-conditional 

猜你喜欢

转载自blog.csdn.net/m0_37971044/article/details/84784313