Home > PHP Framework > ThinkPHP > How to use thinkphp5 model method

How to use thinkphp5 model method

藏色散人
Release: 2022-12-08 10:20:28
Original
1947 people have browsed it

How to use thinkphp5 model: 1. Query multiple records through "User::all(function($query){...}"; 2. Use "User::select(function($query) ){...}" query; 3. Query through find() method and get() method; 4. Query data using column() method.

How to use thinkphp5 model method

The operating environment of this tutorial: Windows 7 system, ThinkPHP version 5, Dell G3 computer.

How to use the thinkphp5 model method?

Thinkphp5.0 usage model Model Query

1. Query multiple records

To obtain multiple data, you can use: select() method and all() method.

Example 1: Use all () method.

        //(1)筛选条件使用闭包函数
        $res = User::all(function($query){
            $query->where('id','>',0)->field('id,name,email');
        });
        foreach($res as $val){
            dump($val->toArray());
        }
        //(2)筛选条件使用where()方法
        $res = User::where('id','>',0)->field('id,name,email')->all();
        //致命错误: Call to undefined method app\index\controller\User::all()
Copy after login

Example 2: Use the select() method.

        //(1)筛选条件使用where()
        $res = User::where('id','>',0)->field('id,name,email')->select();
        foreach($res as $val){
            dump($val->toArray());
        }
        //(2)筛选条件使用闭包函数
        $res = User::select(function($query){
            $query->where('id','>',0)->field('id,name,email');
        });
        foreach($res as $val){
            dump($val->toArray());
        }
Copy after login


1. Pay attention to the result format:

Outer layer It is an array, and the inner layer contains multiple queried objects

You cannot use toArray() directly, you need to traverse

2. When using the all() method, you cannot use where and other methods.

2. Query a record

To obtain multiple data, you can use: find() method and get() method.

Example 1: Use find( ) method.

      //(1)筛选条件使用闭包函数
        $res = User::find(function($query){
            $query->where('name','=','zhang san');
        });
        dump($res->toArray());
        //(2)筛选条件使用where
        $res = User::where('name','=','zhang san')->find();
        dump($res->toArray());
Copy after login

Example 2: Use the get() method.

        //(1)筛选条件使用闭包函数
        $res = User::get(function($query){
            $query->where('name','=','zhang san');
        });
        dump($res->toArray());
        //(2)错误方式:筛选条件使用where()方法,
        $res = User::where('name','=','zhang san')->get();
        dump($res->toArray());
        //报错:method not exist:think\db\Query->get
        //get()方式只能使用闭包形式。
Copy after login

3. Query a field

Use the value() method

$email = User::where('name','=','zhang san')->value('email');
dump($email);
Copy after login

Four , Query column data

Use the column() method:

        //获取name字段这一列
        $res = User::where('id','>',0)->column('name');
        dump($res);
        //获取name字段这一列,并且以id字段作为索引
        $res = User::where('id','>',0)->column('id,name');
        dump($res);
        //获取name字段这一列,并且以id字段作为索引
        $res = User::where('id','>',0)->column('name','id');
        dump($res);
        //获取id,name,email字段这三列,并且以id字段作为索引
        $res = User::where('id','>',0)->column('name,email','id');
        dump($res);
Copy after login

Recommended learning: "thinkPHP Video Tutorial"

The above is the detailed content of How to use thinkphp5 model method. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template