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.
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!