這篇文章主要介紹ThinkPHP5數(shù)據(jù)對象之查詢數(shù)據(jù)Getdata方法的使用示例,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!

ThinkPHP5數(shù)據(jù)對象之查詢數(shù)據(jù)Getdata方法的使用
自Tp5框架上線以來,與之前的3.2版還是有了很大的改變。個人比較喜歡tp5的模型實例化這一塊,TP5取消了自動實例化模型的M方法,轉(zhuǎn)而使用了新的實例化模型方法,越來越接近面向?qū)ο罅恕R郧坝胻p3.2中的M方法查詢出來的都是數(shù)組,而現(xiàn)在的tp5模型操作的返回的都是對象。今天聊下tp5中的數(shù)據(jù)對象,什么是數(shù)據(jù)對象?數(shù)據(jù)對象不了解,模型對象應(yīng)該知道吧,就是模型類實例化后獲得的對象。
模型對象和數(shù)據(jù)對象理解
1. 模型對象:模型類實例化后獲得的對象;
2. 數(shù)據(jù)對象:獲取到了原始數(shù)據(jù)的模型對象;
原始數(shù)據(jù):存放在模型對象的$data屬性中($data是一個數(shù)組)
數(shù)據(jù)對象:說到底,還是一個模型對象,千萬不要認(rèn)為是一個全新的對象
DB操作返回是數(shù)組;模型直接操作返回是對象。
很多時候我們用模型查詢數(shù)據(jù)時,返回的是當(dāng)前模型的對象實例,像get或者find方法返回的是當(dāng)前模型的對象實例,但是我們并不想要這個對象,而是想要這個對象里面的數(shù)據(jù)["data":protected]。下面一個簡單實例講解如何或者data數(shù)據(jù)。
先創(chuàng)建一個自定義模型類,繼承自Model類
因為Model類是抽象類,必須定義他的子類才可以使用
模型文件:/application/index/model/Staff.php
<?php
namespace app\index\model;//導(dǎo)入模型類
use think\model;class Staff extends model {
//自定義模型類代碼}控制器文件: Index.php
<?php
namespace app\index\controller;//導(dǎo)入模型類
use app\index\model\Staff;class Index {
public function index(){
//1.創(chuàng)建模型對象$model
//此時的模型對象僅僅完成了與特定數(shù)據(jù)表的綁定
//理論上講,仍是一個沒有任何數(shù)據(jù)的空模型
$model = new Staff();
//2.創(chuàng)建數(shù)據(jù)源,供創(chuàng)建數(shù)據(jù)對象使用
$data = [];
$data['id'] = 1001;
$data['name'] = 'Peter';
$data['age'] = 26;
//3.data()方法完成前面模型對象的$data屬性賦值
//使模型對象轉(zhuǎn)換成數(shù)據(jù)對象,現(xiàn)在$model 已經(jīng)是數(shù)據(jù)對象啦
$model -> data($data);
//4.getData()方法獲取數(shù)據(jù)對象原始數(shù)據(jù)$data
$result = $model -> getData();
//5.查看數(shù)據(jù)對象原始數(shù)據(jù):$data屬性(數(shù)組類型)
dump($result);
}}現(xiàn)在打開瀏覽器運行Index控制器的index方法:
//以下就是數(shù)據(jù)對象的原始數(shù)據(jù)//其實就是將數(shù)據(jù)對象中$data屬性值輸出array(3) {
["id"] => int(1001)
["name"] => string(5) "Peter"
["age"] => int(26)}現(xiàn)在是輸出了全部的原始數(shù)據(jù),如果我們只需要其中一個元素,怎么做呢?
getData方法參數(shù)傳入鍵名字符串,可獲取指定的單個原始數(shù)據(jù)元素
我們僅修改上面控制器代碼第四步操作即可:
//4.getData()方法獲取數(shù)據(jù)對象原始數(shù)據(jù)$data['name']的值$result = $model -> getData('name');這樣即可獲取原始數(shù)據(jù)$data中的name鍵名對應(yīng)的值:
string(5) "Peter"
4. 總結(jié):
這個方法很靈活,即可獲取完整的原始數(shù)據(jù),也可以獲取其中的一個數(shù)據(jù)。在開發(fā)也是最常用的方法,特別是在模板制作中用得很多,一定要熟練掌握。
以上是“ThinkPHP5數(shù)據(jù)對象之查詢數(shù)據(jù)Getdata方法的使用示例”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
當(dāng)前文章:ThinkPHP5數(shù)據(jù)對象之查詢數(shù)據(jù)Getdata方法的使用示例-創(chuàng)新互聯(lián)
當(dāng)前URL:http://www.chinadenli.net/article30/deiepo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、網(wǎng)站制作、建站公司、靜態(tài)網(wǎng)站、品牌網(wǎng)站設(shè)計、Google
聲明:本網(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)