ホームページ  >  記事  >  PHPフレームワーク  >  ThinkPHP5 データオブジェクトの Query Data Getdata メソッドの使用

ThinkPHP5 データオブジェクトの Query Data Getdata メソッドの使用

angryTom
angryTom転載
2020-03-12 10:07:424962ブラウズ

この記事では、Getdata メソッドを使用して ThinkPHP5 データ オブジェクト内のデータをクエリする方法を紹介します。thinkphp を学習している友人にとって役立つことを願っています。

ThinkPHP5 データオブジェクトの Query Data Getdata メソッドの使用

ThinkPHP5 データオブジェクトのクエリデータ Getdata メソッドの使用

#Tp5 フレームワークが開始されて以来、それはまだ異なります前のバージョン 3.2 大きな変更。個人的には、TP5 のモデルのインスタンス化の点が気に入っています。TP5 では、モデルを自動的にインスタンス化する M メソッドが廃止され、代わりにオブジェクト指向に近づいた新しいインスタンス化モデルのメソッドが使用されます。以前は、tp3.2 の M メソッドを使用してクエリされたすべてのクエリは配列でしたが、現在はすべての tp5 モデル操作がオブジェクトを返します。今日は tp5 のデータ オブジェクトについて説明します。データ オブジェクトとは何ですか?データ オブジェクトはそれを知りませんが、モデル オブジェクトはそれを知っている必要があり、モデル クラスがインスタンス化された後に取得されるオブジェクトです。

モデル オブジェクトとデータ オブジェクトの理解

1. モデル オブジェクト: モデル クラスがインスタンス化された後に取得されるオブジェクト;

2. データ オブジェクト:取得元データのモデルオブジェクトの場合;

元データ:モデルオブジェクトの$data属性に格納($dataは配列)

データオブジェクト:取得後すべて、これはまだモデル オブジェクトです。何千もの新しいオブジェクトだと思わないでください。

DB 操作は配列を返します。モデルの直接操作はオブジェクトを返します。

モデルを使用してデータをクエリする場合、多くの場合、返されるのは現在のモデルのオブジェクト インスタンスです。get メソッドまたは find メソッドは現在のモデルのオブジェクト インスタンスを返しますが、このオブジェクトは必要ありません。ただし、このオブジェクトのデータ ["data":protected] が必要です。以下は、データの作成方法やデータを説明するための簡単な例です。

まず、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)}

これで元のデータがすべて出力されましたが、必要な要素が 1 つだけの場合はどうなるでしょうか?

getData メソッド パラメータはキー名文字列で渡され、指定された単一の元のデータ要素を取得します。

変更する必要があるのは、上記のコントローラ コードの 4 番目のステップのみです。

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

このようにして、元のデータ $data:

string(5) "Peter"

4 の name キーに対応する値を取得できます。 まとめ:

このメソッドは非常に優れています。柔軟かつ完全なオリジナルデータの取得も可能です。これは開発、特にテンプレートの作成で最も一般的に使用される方法でもあるため、十分に習得する必要があります。

(推奨チュートリアル: thinkphp チュートリアル)

以上がThinkPHP5 データオブジェクトの Query Data Getdata メソッドの使用の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はwww.100txy.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。