Home PHP Framework ThinkPHP The use of Query Data Getdata method of ThinkPHP5 data object

The use of Query Data Getdata method of ThinkPHP5 data object

Mar 12, 2020 am 10:07 AM
thinkphp5 data object

This article introduces how to use the Getdata method of querying data in ThinkPHP5 data objects. I hope it will be helpful to friends who are learning thinkphp!

The use of Query Data Getdata method of ThinkPHP5 data object

The use of query data Getdata method of ThinkPHP5 data object

Since the Tp5 framework was launched, it is still different from the previous version 3.2 A big change. Personally, I prefer the model instantiation aspect of TP5. TP5 cancels the M method of automatically instantiating the model and instead uses a new instantiation model method, which is getting closer to object-oriented. In the past, all queries queried using the M method in tp3.2 were arrays, but now all tp5 model operations return objects. Today we will talk about data objects in tp5. What are data objects? The data object doesn't know it, but the model object should know it. It is the object obtained after the model class is instantiated.

Understanding of model objects and data objects

1. Model object: the object obtained after the model class is instantiated;

2. Data object: obtained When it comes to the model object of the original data;

Original data: stored in the $data attribute of the model object ($data is an array)

Data object: After all, it is still a model object, thousands Don’t think it is a brand new object

DB operation returns an array; model direct operation returns an object.

Many times when we use the model to query data, what is returned is the object instance of the current model. The get or find methods return the object instance of the current model, but we do not want this object, but want The data in this object ["data":protected]. The following is a simple example to explain how to or data data.

First create a custom model class, inherited from the Model class

Because the Model class is an abstract class, its subclass must be defined before it can be used

Model file:/application/index/model/Staff.php

<?php
namespace app\index\model;//导入模型类
use think\model;class Staff extends model {
    //自定义模型类代码}
Copy after login

Controller file: 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);  
  
  }}
Copy after login

Now open the browser to run the index method of the Index controller:

//以下就是数据对象的原始数据//其实就是将数据对象中$data属性值输出array(3) {
  ["id"] => int(1001)
  ["name"] => string(5) "Peter"
  ["age"] => int(26)}
Copy after login

Now all the original data is output. What if we only need one element?

The getData method parameter is passed in the key name string to obtain the specified single original data element

We only need to modify the fourth step of the above controller code:

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

In this way, you can get the value corresponding to the name key in the original data $data:

string(5) "Peter"
Copy after login

4. Summary:

This method is very flexible and you can get the complete The original data can also be obtained. It is also the most commonly used method in development, especially in template production, so it must be mastered proficiently.

(Recommended tutorial: thinkphp tutorial)

The above is the detailed content of The use of Query Data Getdata method of ThinkPHP5 data object. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
1 months ago By 尊渡假赌尊渡假赌尊渡假赌
Two Point Museum: All Exhibits And Where To Find Them
1 months ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

What should I do if I get an error when deploying thinkphp5 in Pagoda? What should I do if I get an error when deploying thinkphp5 in Pagoda? Dec 19, 2022 am 11:04 AM

Solution to the error reported when deploying thinkphp5 in Pagoda: 1. Open the Pagoda server, install the php pathinfo extension and enable it; 2. Configure the ".access" file with the content "RewriteRule ^(.*)$ index.php?s=/$1 [QSA ,PT,L]”; 3. In website management, just enable thinkphp’s pseudo-static.

What should I do if thinkphp5 post cannot get the value? What should I do if thinkphp5 post cannot get the value? Dec 06, 2022 am 09:29 AM

thinkphp5 post cannot get a value because TP5 uses the strpos function to find the app/json string in the content-type value of the Header. The solution is to set the content-type value of the Header to app/json.

What should I do if thinkphp5 url rewriting fails? What should I do if thinkphp5 url rewriting fails? Dec 12, 2022 am 09:31 AM

Solution to thinkphp5 url rewriting not working: 1. Check whether the mod_rewrite.so module is loaded in the httpd.conf configuration file; 2. Change None in AllowOverride None to All; 3. Modify the Apache configuration file .htaccess to "RewriteRule ^ (.*)$ index.php [L,E=PATH_INFO:$1]" and save it.

How to get the requested URL in thinkphp5 How to get the requested URL in thinkphp5 Dec 20, 2022 am 09:48 AM

Methods for thinkphp5 to obtain the requested URL: 1. Use the "$request = Request::instance();" method of the "\think\Request" class to obtain the current URL information; 2. Use the built-in helper function "$request-> url()" to obtain the complete URL address including the domain name.

How to remove thinkphp5 title bar icon How to remove thinkphp5 title bar icon Dec 20, 2022 am 09:24 AM

How to remove the thinkphp5 title bar icon: 1. Find the favicon.ico file under the thinkphp5 framework public; 2. Delete the file or choose another picture to rename it to favicon.ico and replace the original favicon.ico file.

What should I do if thinkphp5 prompts that the controller does not exist? What should I do if thinkphp5 prompts that the controller does not exist? Dec 06, 2022 am 10:43 AM

Solution to thinkphp5 prompting that the controller does not exist: 1. Check whether the namespace in the corresponding controller is written correctly and change it to the correct namespace; 2. Open the corresponding tp file and modify the class name.

How to query yesterday's data in ThinkPHP5 How to query yesterday's data in ThinkPHP5 Dec 05, 2022 am 09:20 AM

How to query yesterday's data in ThinkPHP5: 1. Open ThinkPHP5 related files; 2. Query yesterday's data through the expression "db('table')->whereTime('c_time', 'yesterday')->select();" Can.

How to set error prompts in thinkphp5 How to set error prompts in thinkphp5 Dec 07, 2022 am 10:31 AM

How to set error prompts in thinkphp5: 1. Enter the public folder in the project root directory and open the index.php entry file; 2. View the comments on the debug mode switch; 3. Adjust the value of the "APP_DEBUG" constant to true to display Error message prompt.

See all articles