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

How to use thinkphp5 model method

藏色散人
藏色散人Original
2022-12-08 10:20:281967browse

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()

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());
        }


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());

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()方式只能使用闭包形式。

3. Query a field

Use the value() method

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

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);

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!

Statement:
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