午夜91福利视频,午夜成人在线观看,午夜在线视频免费观看,午夜福利短视频,精品午夜成人免费视频APP

數據集

版本 功能調整
5.0.5 原生查詢不支持返回數據集對象

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

return [
    // 數據庫類型
    'type'        => 'mysql',
    // 數據庫連接(jie)DSN配置
    'dsn'         => '',
    // 服務器地(di)址(zhi)
    'hostname'    => '127.0.0.1',
    // 數據庫名
    'database'    => 'thinkphp',
    // 數據(ju)庫(ku)用戶名(ming)
    'username'    => 'root',
    // 數據庫密(mi)碼
    'password'    => '',
    // 數據庫連(lian)接(jie)端口
    'hostport'    => '',
    // 數(shu)據庫連(lian)接參數(shu)
    'params'      => [],
    // 數據庫編碼默認采(cai)用utf8
    'charset'     => 'utf8',
    // 數(shu)據庫表前(qian)綴
    'prefix'      => 'think_',
    // 數據集返回(hui)類型
    'resultset_type' => 'collection',
];

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

可以直接(jie)使用(yong)數組的(de)方式操作(zuo)數據集對象,例如:

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

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

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

Collection類(lei)包含了下(xia)列主(zhu)要方法:

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

文檔最后更新時間:2018-04-26 09:58:00

文檔
目(mu)錄(lu) 

深色
模式

切換
寬(kuan)度