亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

tp5.1 框架數(shù)據(jù)庫(kù)-數(shù)據(jù)集操作實(shí)例分析

 更新時(shí)間:2020年05月26日 11:33:34   作者:人生如初見(jiàn)_張默  
這篇文章主要介紹了tp5.1 框架數(shù)據(jù)庫(kù)-數(shù)據(jù)集操作,結(jié)合實(shí)例形式分析了tp5.1 框架數(shù)據(jù)庫(kù)查詢結(jié)果數(shù)據(jù)集獲取、遍歷相關(guān)操作技巧與使用注意事項(xiàng),需要的朋友可以參考下

本文實(shí)例講述了tp5.1 框架數(shù)據(jù)庫(kù)-數(shù)據(jù)集操作。分享給大家供大家參考,具體如下:

數(shù)據(jù)庫(kù)的查詢結(jié)果也就是數(shù)據(jù)集,默認(rèn)的配置下,數(shù)據(jù)集的類(lèi)型是一個(gè)二維數(shù)組,我們可以配置成數(shù)據(jù)集類(lèi),就可以支持對(duì)數(shù)據(jù)集更多的對(duì)象化操作,需要使用數(shù)據(jù)集類(lèi)功能,可以配置數(shù)據(jù)庫(kù)的resultset_type參數(shù)如下:

return [
  // 數(shù)據(jù)庫(kù)類(lèi)型
  'type'    => 'mysql',
  // 數(shù)據(jù)庫(kù)連接DSN配置
  'dsn'     => '',
  // 服務(wù)器地址
  'hostname'  => '127.0.0.1',
  // 數(shù)據(jù)庫(kù)名
  'database'  => 'thinkphp',
  // 數(shù)據(jù)庫(kù)用戶名
  'username'  => 'root',
  // 數(shù)據(jù)庫(kù)密碼
  'password'  => '',
  // 數(shù)據(jù)庫(kù)連接端口
  'hostport'  => '',
  // 數(shù)據(jù)庫(kù)連接參數(shù)
  'params'   => [],
  // 數(shù)據(jù)庫(kù)編碼默認(rèn)采用utf8
  'charset'   => 'utf8',
  // 數(shù)據(jù)庫(kù)表前綴
  'prefix'   => 'think_',
  // 數(shù)據(jù)集返回類(lèi)型
  'resultset_type' => 'collection',
];

返回的數(shù)據(jù)集對(duì)象是think\Collection,提供了和數(shù)組無(wú)差別用法,并且另外封裝了一些額外的方法。

在模型中進(jìn)行數(shù)據(jù)集查詢,全部返回?cái)?shù)據(jù)集對(duì)象,但使用的是think\model\Collection類(lèi),但用法是一致的。

可以直接使用數(shù)組的方式操作數(shù)據(jù)集對(duì)象,例如:

// 獲取數(shù)據(jù)集
$users = Db::name('user')->select();
// 直接操作第一個(gè)元素
$item = $users[0];
// 獲取數(shù)據(jù)集記錄數(shù)
$count = count($users);
// 遍歷數(shù)據(jù)集
foreach($users as $user){
  echo $user['name'];
  echo $user['id'];
}

V5.1.23+版本開(kāi)始,你可以在查詢的時(shí)候指定是否需要返回?cái)?shù)據(jù)集(無(wú)需配置resultset_type參數(shù))

// 獲取數(shù)據(jù)集
$users = Db::name('user')->fetchCollection()->select();
// 直接操作第一個(gè)元素
$item = $users[0];
// 獲取數(shù)據(jù)集記錄數(shù)
$count = count($users);
// 遍歷數(shù)據(jù)集
foreach($users as $user){
  echo $user['name'];
  echo $user['id'];
}

V5.1.24+版本開(kāi)始,fetchCollection方法支持傳入使用的集合類(lèi)名稱(chēng)。

需要注意的是,如果要判斷數(shù)據(jù)集是否為空,不能直接使用empty判斷,而必須使用數(shù)據(jù)集對(duì)象的isEmpty方法判斷,例如:

$users = Db::name('user')->select();
if($users->isEmpty()){
  echo '數(shù)據(jù)集為空';
}

Collection類(lèi)包含了下列主要方法:

方法 描述
isEmpty 是否為空
toArray 轉(zhuǎn)換為數(shù)組
all 所有數(shù)據(jù)
merge 合并其它數(shù)據(jù)
diff 比較數(shù)組,返回差集
flip 交換數(shù)據(jù)中的鍵和值
intersect 比較數(shù)組,返回交集
keys 返回?cái)?shù)據(jù)中的所有鍵名
pop 刪除數(shù)據(jù)中的最后一個(gè)元素
shift 刪除數(shù)據(jù)中的第一個(gè)元素
unshift 在數(shù)據(jù)開(kāi)頭插入一個(gè)元素
reduce 通過(guò)使用用戶自定義函數(shù),以字符串返回?cái)?shù)組
reverse 數(shù)據(jù)倒序重排
chunk 數(shù)據(jù)分隔為多個(gè)數(shù)據(jù)塊
each 給數(shù)據(jù)的每個(gè)元素執(zhí)行回調(diào)
filter 用回調(diào)函數(shù)過(guò)濾數(shù)據(jù)中的元素
column 返回?cái)?shù)據(jù)中的指定列
sort 對(duì)數(shù)據(jù)排序
shuffle 將數(shù)據(jù)打亂
slice 截取數(shù)據(jù)中的一部分

 

更多關(guān)于thinkPHP相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《ThinkPHP入門(mén)教程》、《thinkPHP模板操作技巧總結(jié)》、《ThinkPHP常用方法總結(jié)》、《codeigniter入門(mén)教程》、《CI(CodeIgniter)框架進(jìn)階教程》、《Zend FrameWork框架入門(mén)教程》及《PHP模板技術(shù)總結(jié)》。

希望本文所述對(duì)大家基于ThinkPHP框架的PHP程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • php批量刪除操作代碼分享

    php批量刪除操作代碼分享

    本文給大家分享的是使用php實(shí)現(xiàn)批量刪除MySQL數(shù)據(jù)庫(kù)內(nèi)的數(shù)據(jù),非常的簡(jiǎn)單,有需要的小伙伴可以參考下
    2017-02-02
  • thinkPHP導(dǎo)出csv文件及用表格輸出excel的方法

    thinkPHP導(dǎo)出csv文件及用表格輸出excel的方法

    這篇文章主要介紹了thinkPHP導(dǎo)出csv文件及用表格輸出excel的方法,涉及thinkPHP針對(duì)表格與Excel文件的操作技巧,需要的朋友可以參考下
    2015-12-12
  • 淺談laravel orm 中的一對(duì)多關(guān)系 hasMany

    淺談laravel orm 中的一對(duì)多關(guān)系 hasMany

    今天小編就為大家分享一篇淺談laravel orm 中的一對(duì)多關(guān)系 hasMany,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-10-10
  • laravel框架學(xué)習(xí)記錄之表單操作詳解

    laravel框架學(xué)習(xí)記錄之表單操作詳解

    這篇文章主要介紹了laravel框架學(xué)習(xí)記錄之表單操作,結(jié)合實(shí)例形式詳細(xì)分析了laravel框架表單操作相關(guān)的路由請(qǐng)求、視圖、資源、渲染、表單驗(yàn)證、錯(cuò)誤記錄等實(shí)現(xiàn)方法與操作注意事項(xiàng),需要的朋友可以參考下
    2020-01-01
  • PHP中讀取文件的8種方法和代碼實(shí)例

    PHP中讀取文件的8種方法和代碼實(shí)例

    這篇文章主要介紹了PHP中讀取文件的8種方法和代碼實(shí)例,本文總結(jié)了PHP中讀取文件的8個(gè)函數(shù),每一個(gè)都附有使用例子及注意事項(xiàng)等,需要的朋友可以參考下
    2014-08-08
  • joomla實(shí)現(xiàn)注冊(cè)用戶添加新字段的方法

    joomla實(shí)現(xiàn)注冊(cè)用戶添加新字段的方法

    這篇文章主要介紹了joomla實(shí)現(xiàn)注冊(cè)用戶添加新字段的方法,實(shí)例分析了Joomla注冊(cè)用戶添加新字段的步驟與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2016-05-05
  • 使用pthreads實(shí)現(xiàn)真正的PHP多線程(需PHP5.3以上版本)

    使用pthreads實(shí)現(xiàn)真正的PHP多線程(需PHP5.3以上版本)

    PHP 5.3 以上版本,使用pthreads PHP擴(kuò)展,可以使PHP真正地支持多線程。多線程在處理重復(fù)性的循環(huán)任務(wù),能夠大大縮短程序執(zhí)行時(shí)間
    2014-05-05
  • CodeIgniter生成靜態(tài)頁(yè)的方法

    CodeIgniter生成靜態(tài)頁(yè)的方法

    這篇文章主要介紹了CodeIgniter生成靜態(tài)頁(yè)的方法,涉及CodeIgniter框架使用文件操作類(lèi)生成靜態(tài)文件的實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2016-05-05
  • ThinkPHP框架實(shí)現(xiàn)FTP圖片上傳功能示例

    ThinkPHP框架實(shí)現(xiàn)FTP圖片上傳功能示例

    這篇文章主要介紹了ThinkPHP框架實(shí)現(xiàn)FTP圖片上傳功能,結(jié)合實(shí)例形式分析了thinkPHP框架實(shí)現(xiàn)ftp圖片上傳功能相關(guān)的配置、文件傳輸功能等操作技巧,需要的朋友可以參考下
    2019-04-04
  • 基于PHP的簡(jiǎn)單采集數(shù)據(jù)入庫(kù)程序

    基于PHP的簡(jiǎn)單采集數(shù)據(jù)入庫(kù)程序

    前幾天有一朋友要我?guī)妥鲆粋€(gè)采集新聞信息的程序,抽了點(diǎn)時(shí)間寫(xiě)了個(gè)PHP版本的,隨筆記錄下。
    2014-07-07

最新評(píng)論