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

Laravel Eloquent ORM 多條件查詢的例子

 更新時(shí)間:2019年10月10日 09:28:28   作者:菜鳥沒翅膀  
今天小編就為大家分享一篇Laravel Eloquent ORM 多條件查詢的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

一、需求:

在數(shù)據(jù)搜索時(shí)最常見的就是調(diào)用同一個(gè)方法查詢,而查詢的字段卻可能是其中一個(gè)或其中的幾個(gè)字段一起組合查詢,例如:對(duì)列表的搜索,基本上都是幾個(gè)字段隨意組合搜索。那么在model里就需要判斷有那個(gè)字段組合,怎么組合。

網(wǎng)上找了很久,Laravel群里也問了幾個(gè),都說沒有寫過,于是自己寫個(gè)吧。話不多說,見代碼:

function findByParam($param = array()) 
 { 
  $select = new Customer(); 
  if (isset($param['name']) && '' != $param['name']) 
  { 
   $select = $select->where('customer.name', '=', $param['name']); 
  } 
  if (isset($param['phone']) && '' != $param['phone']) 
  { 
   $select = $select->where('customer.phone', '=', $param['phone']); 
  } 
  if (isset($param['email']) && '' != $param['email']) 
  { 
   $select = $select->where('customer.email', '=', $param['email']); 
  } 
  if (isset($param['tel']) && '' != $param['tel']) 
  { 
   $select = $select->where('customer.tel', '=', $param['tel']); 
  } 
  if (isset($param['qq']) && '' != $param['qq']) 
  { 
   $select = $select->where('customer.qq', '=', $param['qq']); 
  } 
  if (isset($param['IDCard']) && '' != $param['IDCard']) 
  { 
   $select = $select->where('customer.IDCard', '=', $param['IDCard']); 
  } 
   
  $customers = $select->leftJoin("member", function ($join) 
  { 
   $join->on("customer.memberID", "=", "member.id"); 
  }) 
   ->get(array( 
   'customer.id', 
   'customer.name', 
   'customer.sex', 
   'customer.tel', 
   'customer.phone', 
   'customer.address', 
   'customer.email', 
   'customer.qq', 
   'customer.headPic', 
   'customer.birthday', 
   'customer.IDCard', 
   'customer.enable', 
   'customer.memberID', 
   'customer.IDCard', 
   'customer.info', 
   'member.name as mname', 
   'member.discount' 
  )); 
  return json_encode($customers); 

調(diào)用的時(shí)候,controller里只需要接收這些字段,無論它是否有值,直接加入到$param數(shù)組中查詢就OK,例如:

function anyFindbyparam() 
 { 
  $name = Input::get('name'); 
  $tel = Input::get('tel'); 
  $phone = Input::get('phone'); 
  $email = Input::get('email'); 
  $qq = Input::get('qq'); 
  $IDCard = Input::get('IDCard'); 
  $customer = new Customer(); 
  $customers = $customer->findByParam(array( 
   'name' => $name, 
   'tel' => $tel, 
   'phone' => $phone, 
   'email' => $email, 
   'qq' => $qq, 
   'IDCard' => $IDCard 
  )); 
  return $customers; 
 } 

以上這篇Laravel Eloquent ORM 多條件查詢的例子就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • ThinkPHP中where()使用方法詳解

    ThinkPHP中where()使用方法詳解

    where方法可以用于對(duì)數(shù)據(jù)庫操作的結(jié)果進(jìn)行篩選。即SQL查詢語句中的where子句。本文給大家介紹ThinkPHP中where()使用方法詳解,感興趣的朋友參考下
    2016-04-04
  • Laravel5.1 框架表單驗(yàn)證操作實(shí)例詳解

    Laravel5.1 框架表單驗(yàn)證操作實(shí)例詳解

    這篇文章主要介紹了Laravel5.1 框架表單驗(yàn)證操作,結(jié)合實(shí)例形式詳細(xì)分析了laravel5.1框架表單驗(yàn)證的具體實(shí)現(xiàn)步驟、實(shí)現(xiàn)方法及相關(guān)操作技巧,需要的朋友可以參考下
    2020-01-01
  • 基于php流程控制語句和循環(huán)控制語句(講解)

    基于php流程控制語句和循環(huán)控制語句(講解)

    下面小編就為大家?guī)硪黄趐hp流程控制語句和循環(huán)控制語句(講解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-10-10
  • 實(shí)例講解php數(shù)據(jù)訪問

    實(shí)例講解php數(shù)據(jù)訪問

    這篇文章主要以實(shí)例講解的方式為大家詳細(xì)介紹了php數(shù)據(jù)訪問,數(shù)據(jù)訪問有兩種方式,本文為大家揭曉,感興趣的小伙伴們可以參考一下
    2016-05-05
  • CakePHP框架Session設(shè)置方法分析

    CakePHP框架Session設(shè)置方法分析

    這篇文章主要介紹了CakePHP框架Session設(shè)置方法,結(jié)合具體實(shí)例形式分析了CakePHP常見的Session操作技巧及相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2017-02-02
  • session 加入redis的實(shí)現(xiàn)代碼

    session 加入redis的實(shí)現(xiàn)代碼

    本篇文章主要介紹了session 加入redis 的實(shí)例,對(duì)session 進(jìn)行了詳細(xì)介紹,并提供了代碼實(shí)例,需要的朋友可以參考下
    2016-07-07
  • 詳解PHP使用Redis存儲(chǔ)session時(shí)的一個(gè)Warning定位

    詳解PHP使用Redis存儲(chǔ)session時(shí)的一個(gè)Warning定位

    本篇文章主要介紹了PHP使用Redis存儲(chǔ)session時(shí)的一個(gè)Warning定位,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • laravel7學(xué)習(xí)之無限級(jí)分類的最新實(shí)現(xiàn)方法

    laravel7學(xué)習(xí)之無限級(jí)分類的最新實(shí)現(xiàn)方法

    這篇文章主要給大家介紹了關(guān)于laravel7學(xué)習(xí)之無限級(jí)分類的最新實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • php curl模擬post請(qǐng)求小實(shí)例

    php curl模擬post請(qǐng)求小實(shí)例

    使用php curl模擬post請(qǐng)求的小例子,提供大家學(xué)習(xí)一下
    2013-11-11
  • php檢測(cè)useragent版本示例

    php檢測(cè)useragent版本示例

    這篇文章主要介紹了php檢測(cè)useragent版本的示例,需要的朋友可以參考下
    2014-03-03

最新評(píng)論