日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > php >内容正文

php

1.php查询数据,查询数据 - ThinkPHP 5.1 完全开发手册

發(fā)布時間:2024/7/19 php 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 1.php查询数据,查询数据 - ThinkPHP 5.1 完全开发手册 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

基本查詢

查詢單個數(shù)據(jù)使用find方法:

// table方法必須指定完整的數(shù)據(jù)表名

Db::table('think_user')->where('id',1)->find();

最終生成的SQL語句可能是:

SELECT * FROM `think_user` WHERE `id` = 1 LIMIT 1

find 方法查詢結(jié)果不存在,返回 null,否則返回結(jié)果數(shù)組

如果希望在沒有找到數(shù)據(jù)后拋出異常可以使用

// table方法必須指定完整的數(shù)據(jù)表名

Db::table('think_user')->where('id',1)->findOrFail();

如果沒有查找到數(shù)據(jù),則會拋出一個think\db\exception\DataNotFoundException異常。

查詢多個數(shù)據(jù)(數(shù)據(jù)集)使用select方法:

Db::table('think_user')->where('status',1)->select();

最終生成的SQL語句可能是:

SELECT * FROM `think_user` WHERE `status` = 1

select 方法查詢結(jié)果是一個二維數(shù)組,如果結(jié)果不存在,返回空數(shù)組

如果希望在沒有查找到數(shù)據(jù)后拋出異常可以使用

Db::table('think_user')->where('status',1)->selectOrFail();

如果沒有查找到數(shù)據(jù),同樣也會拋出一個think\db\exception\DataNotFoundException異常。

如果設(shè)置了數(shù)據(jù)表前綴參數(shù)的話,可以使用

Db::name('user')->where('id',1)->find();

Db::name('user')->where('status',1)->select();

如果你的數(shù)據(jù)表沒有設(shè)置表前綴的話,那么name和table方法效果一致。

在find和select方法之前可以使用所有的鏈?zhǔn)讲僮?參考鏈?zhǔn)讲僮髡鹿?jié))方法。

默認(rèn)情況下,find和select方法返回的都是數(shù)組,區(qū)別在于后者是二維數(shù)組。

助手函數(shù)

系統(tǒng)提供了一個db助手函數(shù),可以更方便的查詢:

db('user')->where('id',1)->find();

db('user')->where('status',1)->select();

db方法的第一個參數(shù)的作用和name方法一樣,如果需要使用不同的數(shù)據(jù)庫連接,可以使用:

db('user','db_config1')->where('id', 1)->find();

值和列查詢

查詢某個字段的值可以用

// 返回某個字段的值

Db::table('think_user')->where('id',1)->value('name');

value 方法查詢結(jié)果不存在,返回 null

查詢某一列的值可以用

// 返回數(shù)組

Db::table('think_user')->where('status',1)->column('name');

// 指定id字段的值作為索引

Db::table('think_user')->where('status',1)->column('name','id');

如果要返回完整數(shù)據(jù),并且添加一個索引值的話,可以使用

// 指定id字段的值作為索引 返回所有數(shù)據(jù)

Db::table('think_user')->where('status',1)->column('*','id');

column 方法查詢結(jié)果不存在,返回空數(shù)組

數(shù)據(jù)分批處理

如果你需要處理成千上百條數(shù)據(jù)庫記錄,可以考慮使用chunk方法,該方法一次獲取結(jié)果集的一小塊,然后填充每一小塊數(shù)據(jù)到要處理的閉包,該方法在編寫處理大量數(shù)據(jù)庫記錄的時候非常有用。

比如,我們可以全部用戶表數(shù)據(jù)進(jìn)行分批處理,每次處理 100 個用戶記錄:

Db::table('think_user')->chunk(100, function($users) {

foreach ($users as $user) {

//

}

});

// 或者交給回調(diào)方法myUserIterator處理

Db::table('think_user')->chunk(100, 'myUserIterator');

你可以通過從閉包函數(shù)中返回false來中止對后續(xù)數(shù)據(jù)集的處理:

Db::table('think_user')->chunk(100, function($users) {

foreach ($users as $user) {

// 處理結(jié)果集...

if($user->status==0){

return false;

}

}

});

也支持在chunk方法之前調(diào)用其它的查詢方法,例如:

Db::table('think_user')

->where('score','>',80)

->chunk(100, function($users) {

foreach ($users as $user) {

//

}

});

chunk方法的處理默認(rèn)是根據(jù)主鍵查詢,支持指定字段,例如:

Db::table('think_user')->chunk(100, function($users) {

// 處理結(jié)果集...

return false;

},'create_time');

并且支持指定處理數(shù)據(jù)的順序。

Db::table('think_user')->chunk(100, function($users) {

// 處理結(jié)果集...

return false;

},'create_time', 'desc');

chunk方法一般用于命令行操作批處理數(shù)據(jù)庫的數(shù)據(jù),不適合WEB訪問處理大量數(shù)據(jù),很容易導(dǎo)致超時。

大批量數(shù)據(jù)處理

如果你需要處理大量的數(shù)據(jù),可以使用新版提供的游標(biāo)查詢功能,該查詢方式利用了PHP的生成器特性,可以大幅減少大量數(shù)據(jù)查詢的內(nèi)存占用問題。

$cursor = Db::table('user')->where('status', 1)->cursor();

foreach($cursor as $user){

echo $user['name'];

}

cursor方法返回的是一個生成器對象,user變量是數(shù)據(jù)表的一條數(shù)據(jù)(數(shù)組)。

JSON類型數(shù)據(jù)查詢(mysql)

// 查詢JSON類型字段 (info字段為json類型)

Db::table('think_user')

->where('info->email','thinkphp@qq.com')

->find();

總結(jié)

以上是生活随笔為你收集整理的1.php查询数据,查询数据 - ThinkPHP 5.1 完全开发手册的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 手机亚洲第一页 | 午夜影院日本 | 久久久久久免费毛片精品 | 少妇做爰免费视频播放 | 欧美久久久久久久久久久久 | 欧美国产日韩综合 | 久久视频黄色 | av官网| 一本色道久久88亚洲精品综合 | 欧美性做爰大片免费 | 人体av | 国产欧美一区二区精品性色 | 先锋资源一区 | 亚洲激情二区 | 国产a级淫片 | 韩国成人免费视频 | 日韩av电影在线播放 | 日韩高清av在线 | 成人动漫h在线观看 | 成人精品在线观看视频 | 欧美成人极品 | 成人动漫在线观看 | 男人的av| 日本不卡三区 | 在线观看国产一区 | 欧美 国产 综合 | 日本xxxx18高清hd | 秋霞影院一区二区 | 欧美少妇一区 | 国产成人小视频在线观看 | 亚洲黄色片视频 | www.蜜桃av.com| 激情五月在线观看 | 天天干导航 | 亚洲中字幕 | 高潮毛片又色又爽免费 | 丁香一区二区 | 中文字幕第9页 | 亚洲美女爱爱 | av在线色| 九七影院在线观看免费观看电视 | 成人h动漫精品一区二区无码 | av电影在线观看网址 | 成年人国产 | 久久精品在这里 | 俺去草| porn麻豆| 少妇裸体挤奶汁奶水视频 | 精品人伦一区二区三区蜜桃免费 | 午夜激情av| 性久久久久久久久久久 | 国产51精品| 草莓巧克力香氛动漫的观看方法 | 中文字幕蜜桃 | 91丨九色| 成人一级影片 | 精品99在线 | 五月天国产在线 | 亚洲精品视频观看 | 色老头影视 | 91九色网| 福利视频网站 | 精品亚洲国产成av人片传媒 | 喷水少妇 | 精品乱人伦一区二区三区 | 成人羞羞网站 | 西野翔之公侵犯中文字幕 | 精品夜夜澡人妻无码av | 一区二区三区在线视频免费观看 | 日韩视频专区 | 综合婷婷久久 | 免费大片av | 99久久精品一区 | 中文高清av | 大屁股白浆一区二区 | 精品福利一区 | 性欧美69 | 软萌小仙自慰喷白浆 | 999精品视频 | 深夜激情网站 | 久久精品aaaaaa毛片 | 激情综合影院 | 欧美精品一区在线观看 | 国产伦精品视频一区二区三区 | 欧美人与性动交a欧美精品 日韩免费高清视频 | 狠狠干in | 精品理论片 | av免费在线不卡 | 肉丝超薄少妇一区二区三区 | 国产黄色的视频 | 国产成人毛片 | 樱桃视频污污 | 丁香婷婷一区二区三区 | 热久久影院| 好吊视频一区二区三区四区 | 国产豆花视频 | 免费看国产一级片 | 国产猛男猛女超爽免费视频 | 天天舔天天操 |