laravel多條件查詢方法(and,or嵌套查詢)
說明
在日常開發(fā)中,經(jīng)常會需要寫多條件的數(shù)據(jù)庫查詢語句。在使用框架的情況下,單純使用原生sql查詢會導(dǎo)致結(jié)果與model無法對應(yīng),也就沒有辦法使用框架的一些便利的方法對結(jié)果集進(jìn)行處理。尤其是laravel提供了非常多的對查詢結(jié)果集進(jìn)行處理的工具。所以最好是使用laravel提供的ORM進(jìn)行多條件的數(shù)據(jù)庫查詢。
問題
比如需要執(zhí)行這樣一條sql語句
select * from homework where (id between 1 and 10 or id between 50 and 70) and complete = 1 and (title like 'a%' or title like 'b%');
解決方式
$homeworks = Homework::where(function ($query) { $query->whereBetween('id', [1, 10]) ->orWhereBetween('id', [50, 70]); })->where('complete', 1) ->where(function ($query) { $query->where('title', 'like', 'a%') ->orWhere('title', 'like', 'b%'); })->get();
總結(jié)
使用ORM查詢數(shù)據(jù)可以得到model數(shù)據(jù)集,能更方便的處理數(shù)據(jù)。
laravel的where方法使用閉包可以有效的構(gòu)建嵌套的where子句(在這里,使用where的閉包相當(dāng)于在構(gòu)建sql的時候加一個括號
以上這篇laravel多條件查詢方法(and,or嵌套查詢)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
php側(cè)拉菜單 漂亮,可以向右或者向左展開,支持FF,IE
其中menu UL UL的left或者right控制向右或者向左顯示子菜單2009-10-10ThinkPHP自動填充實(shí)現(xiàn)無限級分類的方法
這篇文章主要介紹了ThinkPHP自動填充實(shí)現(xiàn)無限級分類的方法,是ThinkPHP項目開發(fā)中非常實(shí)用的一個技巧,需要的朋友可以參考下2014-08-08laravel 實(shí)現(xiàn)劃分admin和home 模塊分組
今天小編就為大家分享一篇laravel 實(shí)現(xiàn)劃分admin和home 模塊分組,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-10-10PHP動態(tài)地創(chuàng)建屬性和方法, 對象的復(fù)制, 對象的比較,加載指定的文件,自動加載類文件,命名空間
這篇文章主要介紹了PHP動態(tài)地創(chuàng)建屬性和方法, 對象的復(fù)制, 對象的比較, 加載指定的文件, 自動加載類文件, 命名空間 的相關(guān)資料,需要的朋友可以參考下2016-05-05yii2中的rules 自定義驗(yàn)證規(guī)則詳解
yii2的一個強(qiáng)大之處之一就是他的Form組件,既方便又安全。本文給大家介紹yii2中的rules 自定義驗(yàn)證規(guī)則,需要的朋友參考下2016-04-04Yii數(shù)據(jù)模型中rules類驗(yàn)證器用法分析
這篇文章主要介紹了Yii數(shù)據(jù)模型中rules類驗(yàn)證器用法,結(jié)合實(shí)例形式分析了rules類驗(yàn)證器的簡單使用方法,代碼注釋中包含了相關(guān)方法的使用說明,需要的朋友可以參考下2016-07-07基于在生產(chǎn)環(huán)境中使用php性能測試工具xhprof的詳解
本篇文章是對在生產(chǎn)環(huán)境中使用php性能測試工具xhprof進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06