最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

數(shù)據(jù)庫的查詢結(jié)果也就是數(shù)據(jù)集,默認的配置下,數(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ù)庫編碼默認采用utf8
  'charset'   => 'utf8',
  // 數(shù)據(jù)庫表前綴
  'prefix'   => 'think_',
  // 數(shù)據(jù)集返回類型
  'resultset_type' => 'collection',
];

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

在模型中進行數(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ù)中的一部分

 

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

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

相關(guān)文章

最新評論

集贤县| 玉树县| 宜川县| 隆昌县| 弋阳县| 武邑县| 盐边县| 扬中市| 江达县| 靖江市| 昌都县| 抚州市| 股票| 保亭| 吴江市| 犍为县| 三原县| 探索| 鱼台县| 东阳市| 陇川县| 连南| 中方县| 巴南区| 文安县| 阜阳市| 荆门市| 洛阳市| 达日县| 东丽区| 壶关县| 阜新市| 商都县| 克什克腾旗| 东丰县| 阿拉善左旗| 重庆市| 盐源县| 龙门县| 武乡县| 镇巴县|