首頁  >  文章  >  php框架  >  ThinkPHP5資料物件之查詢資料Getdata方法的使用

ThinkPHP5資料物件之查詢資料Getdata方法的使用

angryTom
angryTom轉載
2020-03-12 10:07:424824瀏覽

本篇文章介紹了ThinkPHP5資料物件之查詢資料Getdata方法的使用方法,希望對學習thinkphp的朋友有幫助!

ThinkPHP5資料物件之查詢資料Getdata方法的使用

ThinkPHP5資料物件之查詢資料Getdata方法的使用

自Tp5框架上線以來,與先前的3.2版還是有了很大的改變。個人比較喜歡tp5的模型實例化這一塊,TP5取消了自動實例化模型的M方法,轉而使用了新的實例化模型方法,越來越接近物件導向了。以前用tp3.2中的M方法查詢出來的都是數組,而現在的tp5模型操作的回傳的都是物件。今天聊聊tp5中的資料對象,什麼是資料對象?資料物件不了解,模型物件應該知道吧,就是模型類別實例化後所獲得的物件。

模型物件與資料物件理解

1.模型物件:模型類別實例化後獲得的物件;

2. 資料物件:取得到了原始資料的模型對象;

原始資料:存放在模型對象的$data屬性中($data是一個數組)

資料對象:說到底,還是一個模型對象,千萬不要認為是全新的物件

DB操作回傳是陣列;模型直接操作回傳是物件。

很多時候我們用模型查詢資料時,返回的是當前模型的物件實例,像get或find方法返回的是當前模型的物件實例,但是我們並不想要這個對象,而是想要這個物件裡面的資料["data":protected]。下面一個簡單實例講解如何或者data資料。

先建立一個自訂模型類,繼承自Model類別

因為Model類別是抽象類,必須定義他的子類別才能使用

模型檔案:/application/index/model/Staff.php

<?php
namespace app\index\model;//导入模型类
use think\model;class Staff extends model {
    //自定义模型类代码}

控制器檔案: Index.php

<?php
namespace app\index\controller;//导入模型类
use app\index\model\Staff;class Index {
  public function index(){ 
    //1.创建模型对象$model
    //此时的模型对象仅仅完成了与特定数据表的绑定
    //理论上讲,仍是一个没有任何数据的空模型
    $model = new Staff();
    //2.创建数据源,供创建数据对象使用
    $data = [];
    $data[&#39;id&#39;] = 1001;
    $data[&#39;name&#39;] = &#39;Peter&#39;;
    $data[&#39;age&#39;] = 26;
    //3.data()方法完成前面模型对象的$data属性赋值
    //使模型对象转换成数据对象,现在$model 已经是数据对象啦
    $model -> data($data);
    //4.getData()方法获取数据对象原始数据$data
    $result = $model -> getData();  
    //5.查看数据对象原始数据:$data属性(数组类型)
    dump($result);  
  
  }}

現在開啟瀏覽器執行Index控制器的index方法:

//以下就是数据对象的原始数据//其实就是将数据对象中$data属性值输出array(3) {
  ["id"] => int(1001)
  ["name"] => string(5) "Peter"
  ["age"] => int(26)}

現在是輸出了全部的原始數據,如果我們只需要其中一個元素,怎麼做呢?

getData方法參數傳入鍵名字串,可取得指定的單一原始資料元素

#我們只修改上面控制器程式碼第四步驟操作即可:

//4.getData()方法获取数据对象原始数据$data[&#39;name&#39;]的值$result = $model -> getData(&#39;name&#39;);

這樣即可取得原始資料$data中的name鍵名對應的值:

string(5) "Peter"

4. 總結:

這個方法很靈活,即可取得完整的原始數據,也可以取得其中的一個數據。在開發也是最常用的方法,特別是在模板製作中用得很多,一定要熟練。

(推薦教學:thinkphp教學

以上是ThinkPHP5資料物件之查詢資料Getdata方法的使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:www.100txy.com。如有侵權,請聯絡admin@php.cn刪除