ThinkPHP5數(shù)據(jù)對(duì)象之查詢數(shù)據(jù)Getdata方法的使用示例-創(chuàng)新互聯(lián)

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

成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站建設(shè)、成都網(wǎng)站制作、開(kāi)陽(yáng)網(wǎng)絡(luò)推廣、微信小程序、開(kāi)陽(yáng)網(wǎng)絡(luò)營(yíng)銷、開(kāi)陽(yáng)企業(yè)策劃、開(kāi)陽(yáng)品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供開(kāi)陽(yáng)建站搭建服務(wù),24小時(shí)服務(wù)熱線:18980820575,官方網(wǎng)址:muchs.cn

ThinkPHP5數(shù)據(jù)對(duì)象之查詢數(shù)據(jù)Getdata方法的使用

自Tp5框架上線以來(lái),與之前的3.2版還是有了很大的改變。個(gè)人比較喜歡tp5的模型實(shí)例化這一塊,TP5取消了自動(dòng)實(shí)例化模型的M方法,轉(zhuǎn)而使用了新的實(shí)例化模型方法,越來(lái)越接近面向?qū)ο罅?。以前用tp3.2中的M方法查詢出來(lái)的都是數(shù)組,而現(xiàn)在的tp5模型操作的返回的都是對(duì)象。今天聊下tp5中的數(shù)據(jù)對(duì)象,什么是數(shù)據(jù)對(duì)象?數(shù)據(jù)對(duì)象不了解,模型對(duì)象應(yīng)該知道吧,就是模型類實(shí)例化后獲得的對(duì)象。

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

1. 模型對(duì)象:模型類實(shí)例化后獲得的對(duì)象;

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

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

數(shù)據(jù)對(duì)象:說(shuō)到底,還是一個(gè)模型對(duì)象,千萬(wàn)不要認(rèn)為是一個(gè)全新的對(duì)象

DB操作返回是數(shù)組;模型直接操作返回是對(duì)象。

很多時(shí)候我們用模型查詢數(shù)據(jù)時(shí),返回的是當(dāng)前模型的對(duì)象實(shí)例,像get或者find方法返回的是當(dāng)前模型的對(duì)象實(shí)例,但是我們并不想要這個(gè)對(duì)象,而是想要這個(gè)對(duì)象里面的數(shù)據(jù)["data":protected]。下面一個(gè)簡(jiǎn)單實(shí)例講解如何或者data數(shù)據(jù)。

先創(chuàng)建一個(gè)自定義模型類,繼承自Model類

因?yàn)镸odel類是抽象類,必須定義他的子類才可以使用

模型文件:/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)建模型對(duì)象$model
    //此時(shí)的模型對(duì)象僅僅完成了與特定數(shù)據(jù)表的綁定
    //理論上講,仍是一個(gè)沒(méi)有任何數(shù)據(jù)的空模型
    $model = new Staff();
    //2.創(chuàng)建數(shù)據(jù)源,供創(chuàng)建數(shù)據(jù)對(duì)象使用
    $data = [];
    $data['id'] = 1001;
    $data['name'] = 'Peter';
    $data['age'] = 26;
    //3.data()方法完成前面模型對(duì)象的$data屬性賦值
    //使模型對(duì)象轉(zhuǎn)換成數(shù)據(jù)對(duì)象,現(xiàn)在$model 已經(jīng)是數(shù)據(jù)對(duì)象啦
    $model -> data($data);
    //4.getData()方法獲取數(shù)據(jù)對(duì)象原始數(shù)據(jù)$data
    $result = $model -> getData();  
    //5.查看數(shù)據(jù)對(duì)象原始數(shù)據(jù):$data屬性(數(shù)組類型)
    dump($result);  
  
  }}

現(xiàn)在打開(kāi)瀏覽器運(yùn)行Index控制器的index方法:

//以下就是數(shù)據(jù)對(duì)象的原始數(shù)據(jù)//其實(shí)就是將數(shù)據(jù)對(duì)象中$data屬性值輸出array(3) {
  ["id"] => int(1001)
  ["name"] => string(5) "Peter"
  ["age"] => int(26)}

現(xiàn)在是輸出了全部的原始數(shù)據(jù),如果我們只需要其中一個(gè)元素,怎么做呢?

getData方法參數(shù)傳入鍵名字符串,可獲取指定的單個(gè)原始數(shù)據(jù)元素

我們僅修改上面控制器代碼第四步操作即可:

//4.getData()方法獲取數(shù)據(jù)對(duì)象原始數(shù)據(jù)$data['name']的值$result = $model -> getData('name');

這樣即可獲取原始數(shù)據(jù)$data中的name鍵名對(duì)應(yīng)的值:

string(5) "Peter"

4. 總結(jié):

這個(gè)方法很靈活,即可獲取完整的原始數(shù)據(jù),也可以獲取其中的一個(gè)數(shù)據(jù)。在開(kāi)發(fā)也是最常用的方法,特別是在模板制作中用得很多,一定要熟練掌握。

以上是“ThinkPHP5數(shù)據(jù)對(duì)象之查詢數(shù)據(jù)Getdata方法的使用示例”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

當(dāng)前文章:ThinkPHP5數(shù)據(jù)對(duì)象之查詢數(shù)據(jù)Getdata方法的使用示例-創(chuàng)新互聯(lián)
當(dāng)前URL:http://muchs.cn/article30/deiepo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開(kāi)發(fā)、網(wǎng)站制作建站公司、靜態(tài)網(wǎng)站品牌網(wǎng)站設(shè)計(jì)、Google

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

綿陽(yáng)服務(wù)器托管