您好,登錄后才能下訂單哦!
這篇文章主要介紹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['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. 總結:
這個方法很靈活,即可獲取完整的原始數據,也可以獲取其中的一個數據。在開發也是最常用的方法,特別是在模板制作中用得很多,一定要熟練掌握。
以上是“ThinkPHP5數據對象之查詢數據Getdata方法的使用示例”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。