本篇文章介紹了ThinkPHP5資料物件之查詢資料Getdata方法的使用方法,希望對學習thinkphp的朋友有幫助!
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['id'] = 1001; $data['name'] = 'Peter'; $data['age'] = 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['name']的值$result = $model -> getData('name');
這樣即可取得原始資料$data中的name鍵名對應的值:
string(5) "Peter"
4. 總結:
這個方法很靈活,即可取得完整的原始數據,也可以取得其中的一個數據。在開發也是最常用的方法,特別是在模板製作中用得很多,一定要熟練。
(推薦教學:thinkphp教學)
以上是ThinkPHP5資料物件之查詢資料Getdata方法的使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!