网友真实露脸自拍10p,成人国产精品秘?久久久按摩,国产精品久久久久久无码不卡,成人免费区一区二区三区

數據集

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

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

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

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

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

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

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

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

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

方法 描述
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

文檔
目錄

深色
模式

切換
寬度