ThinkPHP5資料物件之查詢資料Getdata方法的使用
本篇文章介紹了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中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

寶塔部署thinkphp5報錯的解決方法:1、開啟寶塔伺服器,安裝php pathinfo擴充並啟用;2、設定「.access」文件,內容為「RewriteRule ^(.*)$ index.php?s=/$1 [QSA ,PT,L]」;3、在網站管理裡面,啟用thinkphp的偽靜態即可。

thinkphp5 url重寫不行的解決方法:1、查看httpd.conf設定檔中是否載入了mod_rewrite.so模組;2、將AllowOverride None中的None改為All;3、修改Apache設定檔.htaccess為「RewriteRule ^ (.*)$ index.php [L,E=PATH_INFO:$1]」保存即可。

移除thinkphp5標題列icon的方法:1、找到thinkphp5框架public下的favicon.ico檔案;2、刪除該檔案或選擇另一張圖片命名改為favicon.ico,並取代原favicon.ico檔案即可。

thinkphp5 post無法得到值是因為TP5是透過strpos函數在Header的content-type值中找出app/json字串的,其解決辦法就是設定Header的content-type值為app/json即可。

thinkphp5取得請求網址的方法:1.使用「\think\Request」類別的「$request = Request::instance();」方法取得目前的url資訊;2、透過自帶的助手函數「$request-> url()」取得包含網域的完整URL位址。

thinkphp5提示控制器不存在的解決方法:1、檢查對應的控制器裡面的命名空間是否寫對,修改為正確的命名空間;2、打開對應的tp文件,修改類別名稱即可。

ThinkPHP5查詢昨天資料的方法:1、開啟ThinkPHP5相關檔案;2、透過表達式「db('table')->whereTime('c_time', 'yesterday')->select();」查詢昨天的資料即可。

thinkphp5設定報錯提示的方法:1、進入專案根目錄下的public資料夾,開啟index.php入口檔案;2、檢視偵錯模式開關的註解;3、將「APP_DEBUG」常數的值調整為true即可展示錯誤訊息提示。
