如何操作tp5.1框架數(shù)據(jù)庫-數(shù)據(jù)集-創(chuàng)新互聯(lián)

這篇文章主要講解了“如何操作tp5.1 框架數(shù)據(jù)庫-數(shù)據(jù)集”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“如何操作tp5.1 框架數(shù)據(jù)庫-數(shù)據(jù)集”吧!

創(chuàng)新互聯(lián)公司是一家朝氣蓬勃的網(wǎng)站建設(shè)公司。公司專注于為企業(yè)提供信息化建設(shè)解決方案。從事網(wǎng)站開發(fā),網(wǎng)站制作,網(wǎng)站設(shè)計,網(wǎng)站模板,微信公眾號開發(fā),軟件開發(fā),小程序開發(fā),10多年建站對成都圍欄護(hù)欄等多個行業(yè),擁有豐富建站經(jīng)驗。

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

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

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

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

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

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

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

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

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

V5.1.24+版本開始,fetchCollection方法支持傳入使用的集合類名稱。

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

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

Collection類包含了下列主要方法:

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

感謝各位的閱讀,以上就是“如何操作tp5.1 框架數(shù)據(jù)庫-數(shù)據(jù)集”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對如何操作tp5.1 框架數(shù)據(jù)庫-數(shù)據(jù)集這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

名稱欄目:如何操作tp5.1框架數(shù)據(jù)庫-數(shù)據(jù)集-創(chuàng)新互聯(lián)
文章分享:http://muchs.cn/article28/eijjp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計公司、域名注冊、軟件開發(fā)網(wǎng)站設(shè)計、虛擬主機、網(wǎng)站排名

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管