欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

laravel多條件查詢方法(and,or嵌套查詢)

 更新時(shí)間:2019年10月09日 11:45:41   作者:exponent  
今天小編就為大家分享一篇laravel多條件查詢方法(and,or嵌套查詢),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

說明

在日常開發(fā)中,經(jīng)常會(huì)需要寫多條件的數(shù)據(jù)庫查詢語句。在使用框架的情況下,單純使用原生sql查詢會(huì)導(dǎo)致結(jié)果與model無法對(duì)應(yīng),也就沒有辦法使用框架的一些便利的方法對(duì)結(jié)果集進(jìn)行處理。尤其是laravel提供了非常多的對(duì)查詢結(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的時(shí)候加一個(gè)括號(hào)

以上這篇laravel多條件查詢方法(and,or嵌套查詢)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論