目錄
Yii2.0中文开发向导——Where条件查询全解析,
首頁 後端開發 php教程 Yii2.0中文开发向导——Where条件查询全解析,_PHP教程

Yii2.0中文开发向导——Where条件查询全解析,_PHP教程

Jul 13, 2016 am 09:44 AM
where 中文 開發 條件 查詢 解析

Yii2.0中文开发向导——Where条件查询全解析,

在Yii的Model里进行查询的时候 where是必不可少的。
Where方法声明为


其中参数 $condition类型为字符串或者数组

1、字符串
字符串是最简单的,直接按sql中的where条件写就可以,如

2、数组
如果是数组的情况下,有两种格式的写法。

  • name-value格式的字典数组:['column1' => value1, 'column2' => value2, ...]
  • 逻辑操作符格式:[operator, operand1, operand2, ...]

第一种写法:
如果value值是字符串或者数字等,那么生成的条件语句格式为column1=value1 AND column2=value2 AND ....

['type' => 1, 'status' => 2] 

//生成 

(type = 1) AND (status = 2)


如果value值是数组,那么会生成sql 中的IN语句;

['id' => [1, 2, 3], 'status' => 2]

//生成 

(id IN (1, 2, 3)) AND (status = 2)

如果value值为Null,那么会生成 Is Null语句。

['status' => null]

//生成 

status IS NULL

第二种写法会根据不同的操作符生成不同的sql条件。

    • and: 会使用 AND把所有的操作数连接起来。如

      ['and', 'id=1', 'id=2']

      // 生成 

      id=1 AND id=2

      如果某个运算数也是数组,那么会按如下格式转换为字符串,如

      ['and', 'type=1', ['or', 'id=1', 'id=2']]

      //生成

      type=1 AND (id=1 OR id=2)

      注意:这个方法不会对进行引用或者编码操作。
    • or: 和 and 类似,只不过是用 OR来连接操作数。
    • between: 第一个操作数是列的名称,第二个和第三个操作数为范围的最小值和最大值。如

      ['between', 'id', 1, 10]

      //生成 

      id BETWEEN 1 AND 10

    • not between: 和between 相似。
    • in: 第一个操作数为列或者DB表达式,第二个操作数为数组, 如

      ['in', 'id', [1, 2, 3]]

      //生成 

      id IN (1, 2, 3)

      注意:这个方法会对列进行引用,对数组中的值也会编码。
    • not in: 和上面的in 相似。
    • like: 第一个操作数为列或者DB表达式,第二个操作数为字符串或者数组如

      ['like', 'name', 'tester'] 

      //生成 

      name LIKE '%tester%'

      如果值是数组的话,会生成多个like语句,并用 AND来连接。如

      ['like', 'name', ['test', 'sample']]

      //生成 

      name LIKE '%test%' AND name LIKE '%sample%'

      注意:这个方法会对列进行引用,对数组中的值也会编码。
      有时候你可能需要自己来处理%,那么可以用第三个参数:

      ['like', 'name', '%tester', false]

      //生成 

      name LIKE '%tester'

    • or like: 和like相似,只是在第二个参数为数组的情况下用or来连接多个like 语句。
    • not like: 和like 相似。
    • or not like: 和or like 相似。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1043455.htmlTechArticleYii2.0中文开发向导——Where条件查询全解析, 在Yii的Model里进行查询的时候 where是必不可少的。 Where方法声明为 其中参数 $condition类型为字...
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

使命召喚戰區手遊怎麼設定中文 使命召喚戰區手遊怎麼設定中文 Mar 22, 2024 am 08:41 AM

使命召喚戰區手遊怎麼設定中文

四款值得推薦的AI輔助程式工具 四款值得推薦的AI輔助程式工具 Apr 22, 2024 pm 05:34 PM

四款值得推薦的AI輔助程式工具

學信網如何查詢自己的學歷 學信網如何查詢自己的學歷 Mar 28, 2024 pm 04:31 PM

學信網如何查詢自己的學歷

12306怎麼查詢歷史購票紀錄 查看歷史購票紀錄的方法 12306怎麼查詢歷史購票紀錄 查看歷史購票紀錄的方法 Mar 28, 2024 pm 03:11 PM

12306怎麼查詢歷史購票紀錄 查看歷史購票紀錄的方法

VSCode 設定中文:完全指南 VSCode 設定中文:完全指南 Mar 25, 2024 am 11:18 AM

VSCode 設定中文:完全指南

AI程式設計師哪家強?探索Devin、通靈靈碼和SWE-agent的潛力 AI程式設計師哪家強?探索Devin、通靈靈碼和SWE-agent的潛力 Apr 07, 2024 am 09:10 AM

AI程式設計師哪家強?探索Devin、通靈靈碼和SWE-agent的潛力

學習如何利用Go語言開發行動應用程式 學習如何利用Go語言開發行動應用程式 Mar 28, 2024 pm 10:00 PM

學習如何利用Go語言開發行動應用程式

解決PHP寫入txt檔案中文亂碼的技巧 解決PHP寫入txt檔案中文亂碼的技巧 Mar 27, 2024 pm 01:18 PM

解決PHP寫入txt檔案中文亂碼的技巧

See all articles