久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Laravel多條件where查詢語(yǔ)句使用詳解

瀏覽:3日期:2022-06-13 18:12:34
目錄引言使用多條件的 where 語(yǔ)句使用條件性的 where 查詢引言

在使用 Laravel 開(kāi)發(fā)應(yīng)用的時(shí)候,還是會(huì)經(jīng)常遇到多條件的查詢語(yǔ)句,比如一個(gè)網(wǎng)站的商品篩選頁(yè)面就有可能是這樣子:

http://jd.com/products?color=black&size=xl&orderBy=price&sort=desc

使用多條件的 where 語(yǔ)句

這種方式的篩選其實(shí)我們就會(huì)使用多條件的 where 語(yǔ)句來(lái)做,比如我們通常會(huì)看到類似下面的代碼:

$query = Product::newInstance();if ($request->color) { $query->whereColor($request->color);}if ($request->size) { $query->whereSize($request->size);}if ($request->orderBy && $request->sort) { $query->orderby($request->orderBy, $request->sort);}$products = $query->get();

那如果說(shuō),你需要一個(gè)默認(rèn)的排序結(jié)果的話,可以這樣:

...其他代碼if ($request->orderBy && $request->sort) { $query->orderby($request->orderBy, $request->sort);} else { $query->orderby('price', 'desc');}...其他代碼使用條件性的 where 查詢

然而如果說(shuō)你使用條件性的 where 查詢的話,可以這樣:

$products = Product::when($request->color, function ($query) use ($request) { return $query->whereColor($request->color);})->when($request->size, function ($query) use ($request) { return $query->whereSize($request->size);})->when($request->orderBy && $request->sort, function ($query) use ($request) { return $query->orderBy($request->orderBy, $request->sort);})->get();

需要默認(rèn)排序的情況則是這樣:

...其他代碼->when($request->orderBy && $request->sort, function ($query) use ($request) { return $query->orderBy($request->orderBy, $request->sort);}, function ($query) { return $query->latest('price');})...其他代碼

到這里就可以解決 Laravel 的多條件查詢了!

以上就是Laravel多條件where查詢語(yǔ)句使用詳解的詳細(xì)內(nèi)容,更多關(guān)于Laravel多條件where查詢的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: PHP
主站蜘蛛池模板: 德清县| 聂拉木县| 浮山县| 霍山县| 依安县| 漠河县| 通河县| 岳阳县| 衢州市| 栾城县| 乌海市| 和林格尔县| 花垣县| 措美县| 班玛县| 东乌珠穆沁旗| 双鸭山市| 汪清县| 玛曲县| 平和县| 迁西县| 将乐县| 台南县| 湟中县| 渭南市| 鄯善县| 大埔县| 神农架林区| 临沧市| 乃东县| 阳泉市| 丰城市| 汶川县| 成都市| 三河市| 宜章县| 兴隆县| 益阳市| 香格里拉县| 钟山县| 绥宁县|