中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ThinkPHP5數據對象之查詢數據Getdata方法的使用示例

發布時間:2021-01-16 10:31:00 來源:億速云 閱讀:174 作者:小新 欄目:編程語言

這篇文章主要介紹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方法的使用示例”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

龙陵县| 克拉玛依市| 贵溪市| 高青县| 山阴县| 二连浩特市| 沅陵县| 乐山市| 工布江达县| 潞城市| 尼勒克县| 金秀| 兴山县| 保德县| 仙游县| 尼木县| 右玉县| 芮城县| 彭泽县| 郴州市| 益阳市| 仁布县| 泽库县| 龙井市| 贵定县| 吴旗县| 炎陵县| 安阳市| 长春市| 肃宁县| 定日县| 娄底市| 五常市| 广德县| 台北市| 洱源县| 东明县| 喀喇| 平乡县| 大同市| 南乐县|