溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么在thinkphp5 模型中實例化獲得數(shù)據(jù)對象

發(fā)布時間:2021-06-07 17:27:17 來源:億速云 閱讀:221 作者:Leah 欄目:開發(fā)技術(shù)

本篇文章給大家分享的是有關(guān)怎么在thinkphp5 模型中實例化獲得數(shù)據(jù)對象,小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

模型對象和數(shù)據(jù)對象理解

1. 模型對象:模型類實例化后獲得的對象;

2. 數(shù)據(jù)對象:獲取到了原始數(shù)據(jù)的模型對象;

原始數(shù)據(jù):存放在模型對象的$data屬性中($data是一個數(shù)組)

數(shù)據(jù)對象:說到底,還是一個模型對象,千萬不要認為是一個全新的對象

DB操作返回是數(shù)組。

模型直接操作返回是對象。

//該對象共計有28個受保護屬性,必須在本類或子類中使用,外部不能直接使用
object(app\index\model\Staff)#5 (28) {

 //數(shù)據(jù)庫配置數(shù)組
 ["connection":protected] => array(0) {
 }
 //數(shù)據(jù)庫查詢對象,負責(zé)最終完成對數(shù)據(jù)庫的操作
 ["query":protected] => NULL
 //模型名稱 ,創(chuàng)建時自動賦值
 ["name":protected] => string(5) "Staff"
 //與模型綁定的數(shù)據(jù)表的完整名稱(包括前綴的表名,如:tp5_staff)
 ["table":protected] => NULL
 //用命名空間表示的、當(dāng)前的模型類名:Staff
 ["class":protected] => string(21) "app\index\model\Staff"
 //出錯時顯示的信息
 ["error":protected] => NULL
 //字段驗證規(guī)則
 ["validate":protected] => NULL
 //數(shù)據(jù)表主鍵
 ["pk":protected] => NULL
 //數(shù)據(jù)表字段名列表(與數(shù)據(jù)表對應(yīng))
 ["field":protected] => array(0) {
 }
 //只讀字段列表
 ["readonly":protected] => array(0) {
 }
 //顯示字段列表
 ["visible":protected] => array(0) {
 }
 //隱藏屬性字段列表
 ["hidden":protected] => array(0) {
 }
 //追加屬性列表
 ["append":protected] => array(0) {
 }
 //與數(shù)據(jù)表字段對應(yīng)的信息列表(極其重要)
 ["data":protected] => array(0) {
 }
 //字段修改信息列表
 ["change":protected] => array(0) {
 }
 //自動完成列表
 ["auto":protected] => array(0) {
 }
 //新增自動完成列表
 ["insert":protected] => array(0) {
 }
 //更新自動完成列表
 ["update":protected] => array(0) {
 }
// 是否需要自動寫入時間戳 如果設(shè)置為字符串 則表示時間字段的類型
 ["autoWriteTimestamp":protected] => bool(false)
 //設(shè)置表中:創(chuàng)建時間字段的名稱
 ["createTime":protected] => string(11) "create_time"
 //設(shè)置表中:更新時間字段的名稱
 ["updateTime":protected] => string(11) "update_time"
 //設(shè)置表中:時間字段的格式
 ["dateFormat":protected] => string(11) "Y-m-d H:i:s"
 //數(shù)據(jù)表中各字段類型定義
 ["type":protected] => array(0) {
 }
 //是否是:更新操作
 ["isUpdate":protected] => bool(false)
 //更新條件
 ["updateWhere":protected] => NULL
 //當(dāng)前執(zhí)行的關(guān)聯(lián)條件
 ["relation":protected] => NULL
 //驗證失敗是否拋出異常
 ["failException":protected] => bool(false)
//全局查詢范圍設(shè)置
 ["useGlobalScope":protected] => bool(true)
}

當(dāng)我們用select()進行查詢得出的結(jié)果無法toarray的時候,下面的方法就用得上了。

對象類型轉(zhuǎn)換數(shù)組

打開 database.php 增加或修改參數(shù)

'resultset_type' => '\think\Collection',

即可連貫操作

model('user')->select()->toArray()

以上就是怎么在thinkphp5 模型中實例化獲得數(shù)據(jù)對象,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI