久艹网,亚洲一日韩欧美中文字幕2019,国产欧美日韩精品专区黑人,一区二区三区久久99

中山php|最優(yōu)網(wǎng)絡(luò)中山做網(wǎng)站 中山php建站

最優(yōu)良人

2011/09/06 at 16:10

FleaPHP的數(shù)據(jù)庫查詢條件匯總解析

本文將全面分析FleaPHP的數(shù)據(jù)庫查詢條件,包含字符串格式,數(shù)組格式,混合格式,in查詢,or查詢,關(guān)聯(lián)查詢等常用查詢。

FleaPHP的數(shù)據(jù)庫查詢條件$conditions 參數(shù)可以是整數(shù)、字符串和數(shù)組三種類型:

1.如果 $conditions 參數(shù)是一個(gè)整數(shù),則假定該整數(shù)為主鍵字段值。
view plaincopy to clipboardprint?
// 查詢主鍵字段值為1的記錄
$user = $tableUsers->find(1);

2.如果 $conditions 參數(shù)是一個(gè)字符串,則該字符串將直接作為查詢條件,這種方式可以支持最靈活的查詢條件。 例如:
view plaincopy to clipboardprint?
$conditions = 'id < 3'
$user = $tableUsers->find($conditions);
//生成的where字句為“WHERE id < 3”

3.1.如果 $conditions 參數(shù)是一個(gè)數(shù)組,且指定了鍵名和值,則查詢條件中字段名為鍵名,字段值等于鍵值。例如:

// 查詢id字段值為3的記錄
$conditions = array(
'id' => '1',
);
$user = $tableUsers->find($conditions);
//生成的where字句為“WHERE `id` = 1”

3.2.如果 $conditions 參數(shù)是一個(gè)數(shù)組,但其中的元素沒有鍵名, 則假定鍵值為自定義查詢條件,例如:

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

3.3.$conditions 為數(shù)組時(shí),可以混用字符串和鍵值對(duì)兩種風(fēng)格:

$conditions = array(
'id < 3',
'sex' => 'male',
);
$user = $tableUsers->find($conditions);
// 生成的where字句為“id < 3 AND `sex` = 'male'”
$conditions = array( 'id < 3', 'sex' => 'male',);$user = $tableUsers->find($conditions);// 生成的where字句為“id < 3 AND `sex` = 'male'”
$conditions 為數(shù)組時(shí),多個(gè)查詢條件之間將使用 AND 布爾運(yùn)算符進(jìn)行連接。

3.4.“in()”查詢?cè)贔leaPHP中的實(shí)現(xiàn)

我們有時(shí)候要用到in這樣的操作,那么在condition里面怎么寫呢?

// 假如主鍵名為“id”,需要查詢id的值為1、2、3其中之一,則可以這樣寫:
$condition = array(
'in()' => array(1,2,3),
)

那么如果不是主鍵的話怎么寫了呢? 也很簡(jiǎn)單,提供鍵值對(duì)即可。例如:
view plaincopy to clipboardprint?
$condition = array(
'in()' => array(
'username' => array('username1','username2')
)
)

3.5 or查詢的實(shí)現(xiàn)

當(dāng) $conditions 包含多個(gè)元素時(shí),每一個(gè)數(shù)組元素都是下列格式的數(shù)組:
array(字段名, 值, 比較操作, 連接下一個(gè)條件的操作, 是否是自定義命令)如果“是否是自定義命令”為 true,則“字段名”為自定義的查詢條件,而“值”和“比較操作”兩項(xiàng)將被忽略。
“比較操作”的默認(rèn)值是“=”;
“連接下一個(gè)條件的操作”的默認(rèn)值是“AND”;
“是否是自定義命令”的默認(rèn)值是 false。

$conditions = array(
array('username', 'dualface', '=', 'OR'),
array('user_level', 'vip', '>='),
);

生成的 sql 如下

WHERE `username` = 'dualface' OR `user_level` >= 'vip'

實(shí)例代碼:
$conditions =array(
array('Field1','Value1','LIKE','OR'),
array('Field2','Value2','=','OR'),
array('Field3','Value3','>'),
);

3.6.關(guān)聯(lián)表限制條件

上面介紹的都是相對(duì)于主表而言的,那么我們?nèi)绾蝸聿僮麝P(guān)聯(lián)表的條件呢?我們來看下面
$conditions =array(
array('Field1','Value1','LIKE','OR'),
array('mappingName.Field',$this->primaryKey,'=','OR'), //這里的field是指關(guān)聯(lián)表中的字段 ,mappingName就是定義關(guān)聯(lián)時(shí)候那個(gè)影像別名
array('Field2','Value2','>'),
);

4.find(),findAll()函數(shù)中其它參數(shù)的含義和用法如下:
find ( $ conditions,
$ sort = null,
$ fields = '*',
$ queryLinks = true
)
findAll ( $ conditions = null,
$ sort = null,
$ limit = null,
$ fields = '*',
$ queryLinks = true
)

4.1.$sort 參數(shù)指定查詢時(shí)的排序方式,類型只能為字符串
例如 'created ASC' 表示按照“created”字段進(jìn)行從小到大的排序。

4.2.$fields 參數(shù)指定查詢結(jié)果中要包含哪些字段,類型可以為字符串或數(shù)組
當(dāng)數(shù)據(jù)表的字段很多時(shí),通過指定 $fields 參數(shù)可以避免查詢不需要的字段,從而提高性能。
$fields 參數(shù)即可是以“,”逗號(hào)分隔的字段名,也可以是包含多個(gè)字段名的數(shù)組,例如:

$fields = array('title', 'created');
//也可以寫成下面的字符串形式,兩種寫法作用相同,區(qū)別在于自動(dòng)生成的字段名兩邊將會(huì)添加上“`”符號(hào),以防止出現(xiàn)字段名與SQL關(guān)鍵字沖突的情況出現(xiàn)。建議手寫時(shí)也加上“`”字符
$fields = 'title, created';
$user = $tableUsers->find('id < 10',NULL,$fields);
$fields = array('title', 'created');//也可以寫成下面的字符串形式,兩種寫法作用相同,區(qū)別在于自動(dòng)生成的字段名兩邊將會(huì)添加上“`”符號(hào),以防止出現(xiàn)字段名與SQL關(guān)鍵字沖突的情況出現(xiàn)。建議手寫時(shí)也加上“`”字符$fields = 'title, created';$user = $tableUsers->find('id < 10',NULL,$fields);
推薦使用數(shù)組,這樣表數(shù)據(jù)入口處理起來更快一些。

4.3.$queryLinks表示是否啟用關(guān)聯(lián)查詢,默認(rèn)是啟用的,即默認(rèn)會(huì)查詢關(guān)聯(lián)表(前提是關(guān)聯(lián)設(shè)置屬性enabled是開啟狀態(tài))

下一篇文章將討論一下FleaPHP的數(shù)據(jù)表關(guān)聯(lián)設(shè)置

標(biāo)簽:,
-
日韩不卡小黄片| 久久久久亚洲综合| 五月丁六月激情欧美熟妇| 超碰熟女| 国产激情视频在线| 91字幕无码乱人伦| 喷水网站| 欧美一二三区免费| 夜夜夜夜| 你懂的在线网| 亚洲日韩精品无码专区加勒比☆| 国产毛片久久久| 韩国午夜福利| 性欧美XX00| 久久婷婷导航| 一级久久19久久久区区区区区区| 久久人一区区三区四区精品视频| 日本色网址| 中国乱论一级片播放| 人妻无码一区二区三区四| 色诱亚洲精品久久久久久| 婷婷色中文字幕爱| 久久青青草原亚洲av无码app| 综合久久99| 亚洲精品啊啊啊啊好痛不要啊| 无码人妻av色欲| 亚洲第一免费视频| 国产婷婷综合AV| 亚洲欧美精品午睡沙发| 午夜伦理在线| 国产对白成人棚户区妓女| 日韩精品,欧美精品| A级毛片免费| 超碰人人网| 国产成人毛片久久久久| 啪啪精品| 九色不卡| 亚洲第一视频在线| 久久国产野战视频| 亚洲免费在线777视频| 亚洲一级在线观看|