FleaPHP架構資料庫查詢條件($conditions)寫法總結,fleaphpconditions_PHP教程

來源:互聯網
上載者:User

FleaPHP架構資料庫查詢條件($conditions)寫法總結,fleaphpconditions


本文執行個體講述了FleaPHP架構資料庫查詢條件($conditions)寫法。分享給大家供大家參考,具體如下:

在FleaPHP中,凡是用到資料庫查詢的函數,都需要查詢條件參數$conditions,現講述用法如下:

舉例:

// $conditions 儲存查詢條件$conditions = 'level_ix > 1';// $tableOrders 是一個訂單資料表的表資料入口對象$order = $tableOrders->find($conditions, 'created DESC', 'id, title, body');$conditions = array('username' => 'dualface');// $tableUsers 是一個使用者資訊資料表的表資料入口對象$user = $tableUsers->find($conditions);

$conditions 參數可以是整數、字串和數組三種類型:

1.如果 $conditions 參數是一個整數,則假定該整數為主鍵欄位值。

// 查詢主鍵欄位值為1的記錄$user = $tableUsers->find(1);// 如果主鍵欄位名為"id",則產生的where字句為"WHERE `id` = 1"

2.如果 $conditions 參數是一個字串,則該字串將直接作為查詢條件,這種方式可以支援最靈活的查詢條件。 例如:

$conditions = 'id < 3'$user = $tableUsers->find($conditions);//產生的where字句為"WHERE id < 3"

3.1.如果 $conditions 參數是一個數組,且指定了鍵名和值,則查詢條件中欄位名為鍵名,欄位值等於索引值。例如:

// 查詢id欄位值為3的記錄$conditions = array(  'id' => '1', );$user = $tableUsers->find($conditions);//產生的where字句為"WHERE `id` = 1"

3.2.如果 $conditions 參數是一個數組,但其中的元素沒有鍵名, 則假定索引值為自訂查詢條件,例如:

$conditions = array('id = 1');// 產生的where字句為"WHERE `id` = 1"$user = $tableUsers->find($conditions);

3.3.$conditions 為數組時,可以混用字串和索引值對兩種風格:

$conditions = array(  'id < 3',  'sex' => 'male',);$user = $tableUsers->find($conditions);// 產生的where字句為"id < 3 AND `sex` = 'male'"

$conditions 為數組時,多個查詢條件之間將使用 AND 布林運算子進行串連。

3.4."in()"查詢在FleaPHP中的實現。(原文由DreamPig發表於http://www.fleaphp.org/bbs/viewthread.php?tid=2168)
我們有時候要用到in這樣的操作,那麼在condition裡面怎麼寫呢?

// 假如主鍵名為"id",需要查詢id的值為1、2、3其中之一,則可以這樣寫:$condition = array(  'in()' => array(1,2,3),)$user = $tableUsers->find($conditions);// 產生的where子句為"WHERE `id` IN (1, 2, 3)"

那麼如果不是主鍵的話怎麼寫了呢? 也很簡單,提供索引值對即可。例如:

$condition = array(  'in()' => array(          'username' => array('username1','username2')         )  )$user = $tableUsers->find($conditions);// 產生的where子句為"WHERE `username` IN ('username1', 'username2')"

4.find()函數中其它參數的含義和用法如下:

4.1.$sort 參數指定查詢時的排序方式,類型只能為字串
例如 'created ASC' 表示按照"created"欄位進行從小到大的排序。

4.2.$fields 參數指定查詢結果中要包含哪些欄位,類型可以為字串或數組
當資料表的欄位很多時,通過指定 $fields 參數可以避免查詢不需要的欄位,從而提高效能。

$fields 參數即可是以","逗號分隔的欄位名,也可以是包含多個欄位名的數組,例如:

$fields = array('title', 'created');//也可以寫成下面的字串形式,兩種寫法作用相同,區別在於自動產生的欄位名兩邊將會添加上"`"符號,以防止出現欄位名與SQL關鍵字衝突的情況出現。建議手寫時也加上"`"字元$fields = 'title, created';$user = $tableUsers->find('id < 10',NULL,$fields);

推薦使用數組,這樣表資料入口處理起來更快一些。

希望本文所述對大家基於FleaPHP架構的PHP程式設計有所協助。

您可能感興趣的文章:

  • php基於Fleaphp架構實現cvs資料匯入MySQL的方法
  • fleaphp rolesNameField bug解決方案
  • fleaphp crud操作之find函數的使用方法
  • fleaphp crud操作之findByField函數的使用方法
  • fleaphp常用方法分頁之Pager使用方法
  • FleaPHP的安全設定方法
  • fleaphp下不確定的多條件查詢的巧妙解決方案

http://www.bkjia.com/PHPjc/1111893.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/1111893.htmlTechArticleFleaPHP架構資料庫查詢條件($conditions)寫法總結,fleaphpconditions 本文執行個體講述了FleaPHP架構資料庫查詢條件($conditions)寫法。分享給大家供大家參...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.