ThinkPHP5.0 模型查询操作

1、获取单个数据

//取出主键为1的数据
$user = User::get(1);
echo $user->name;

// 使用数组查询
$user = User::get([‘name‘ => ‘thinkphp‘]);

// 使用闭包查询
$user = User::get(function($query){
    $query->where(‘name‘, ‘thinkphp‘);
});
echo $user->name;

//实例化模型后调用查询
$user = new User();
// 查询单个数据
$user->where(‘name‘, ‘thinkphp‘)->find();

2、获取多个数据

// 根据主键获取多个数据
$list = User::all(‘1,2,3‘);
// 或者使用数组
$list = User::all([1,2,3]);
foreach($list as $key=>$user){
    echo $user->name;
}
// 使用数组查询
$list = User::all([‘status‘=>1]);
// 使用闭包查询
$list = User::all(function($query){
    $query->where(‘status‘, 1)->limit(3)->order(‘id‘, ‘asc‘);
});
foreach($list as $key=>$user){
    echo $user->name;
}

//实例化模型后调用查询
$user = new User();
// 查询数据集
$user->where(‘name‘, ‘thinkphp‘)->limit(10)->order(‘id‘, ‘desc‘) ->select();

3、获取某个字段或者某个列的值

// 获取某个用户的积分
User::where(‘id‘,10)->value(‘score‘);
// 获取某个列的所有值
User::where(‘status‘,1)->column(‘name‘);
// 以id为索引
User::where(‘status‘,1)->column(‘name‘,‘id‘);

4、动态查询

// 根据name字段查询用户
$user = User::getByName(‘thinkphp‘);

// 根据email字段查询用户
$user = User::getByEmail(‘[email protected]‘);

5、通过Query类查询

User::where(‘id‘,‘>‘,10)->select();
User::where(‘name‘,‘thinkphp‘)->find();

6、数据分批处理

User::chunk(100,function($users){
    foreach($users as $user){
        // 处理user模型对象
    }
});

7、查询缓存(get方法和all方法的第三个参数表示是否使用查询缓存,或者设置缓存标识

//由于第二个参数是关联预载入定义,V5.0.6+版本开始,可以直接在第二个参数传入true表示开启查询缓存。
$user = User::get(1,‘‘,true);
$list  = User::all(‘1,2,3‘,‘‘,true);

时间: 2024-10-11 03:30:14

ThinkPHP5.0 模型查询操作的相关文章

ThinkPHP5.0 模型删除操作

1.删除模型数据,可以在实例化后调用delete方法 $user = User::get(1); $user->delete(); 2.根据主键删除(5.0.9版本以上destroy方法传入空数组和空字符串不会进行任何删除操作) User::destroy(1); // 支持批量删除多个数据 User::destroy('1,2,3'); // 或者 User::destroy([1,2,3]); 3.条件删除 数组进行条件删除 User::destroy(['status' => 0]);/

ThinkPHP5.0 模型更新操作

1.在取出数据后,更改字段内容后更新数据 $user = User::get(1); $user->name = 'thinkphp'; $user->email = '[email protected]'; $user->save(); 2.直接带更新条件来更新数据 $user = new User; // save方法第二个参数为更新条件 $user->save([ 'name' => 'thinkphp', 'email' => '[email protected

ThinkPHP5.0 模型类事务性操作

 //创建一个模型类     $release=new \app\admin\model\Release(); $release->startTrans();//开启事务 $release->rollback();//事务回滚 $release->commit();//提交事务 ———————————————— <?php //例子如下: public function transAction() { $modelA = model('A'); $modelA->startT

ThinkPHP5.0 模型调用

一.模型类可以使用静态调用或者实例化调用两种方式,例如: // 静态调用 $user = User::get(1); $user->name = 'thinkphp'; $user->save(); // 实例化模型 $user = new User; $user->name= 'thinkphp'; $user->save(); // 使用 Loader 类实例化(单例) $user = Loader::model('User'); // 或者使用助手函数`model` $use

thinkPHP5.0数据查询表达式生成技巧

thinkPHP的查询表达式大揭秘 主要使用where(条件表达式)方法 语法一:where('字段','条件','值'): 等于:EQ 解析为"=" 不等于:NEQ 解析为"<>" 小于:LT 解析为"<" 小于等于: ELT 解析为"<=" 大于:GT 解析为">" 大于等于:EGT 解析为">=" 区间:BETWEEN 解析为 “BETWEEN

C#3.0中的新增功能09 LINQ 04 基本 LINQ 查询操作

连载目录    [已更新最新开发文章,点击查看详细] 本篇介绍 LINQ 查询表达式和一些在查询中执行的典型操作. 获取数据源 在 LINQ 查询中,第一步是指定数据源. 和大多数编程语言相同,在使用 C# 时也必须先声明变量,然后才能使用它. 在 LINQ 查询中,先使用 from 子句引入数据源 (customers) 和范围变量 (cust) . // 从 IEnumerable<Customer> 中查询所有的客户信息 var queryAllCustomers = from cust

ThinkPHP5——模型查询返回的对象转换为数组

使用模型查询的返回的结果集为对象,其中里面的数据,TP5框架会自动对里面的data:protected该项进行处理. 但有时我们就想要数据,就想返回一个数组就可以了,怎么办?有两种方法可以实现: 方法一:找到TP5框架中的database.php文件,该文件中找到 resultset_type 该项,将后面的 array 改成 \think\Collection [注意大小写] // 数据集返回类型 'resultset_type' => 'array',  改为 // 数据集返回类型 'res

thinkPHP5.0的学习研究【架构】

2017年6月19日18:51:53 架构:1.ThinkPHP5.0应用基于MVC(模型-视图-控制器)的方式来组织.2.MVC是一个设计模式,它强制性的使应用程序的输入.处理和输出分开.使用MVC应用程序被分成三个核心部件:模型(M).视图(V).控制器(C),它们各自处理自己的任务.3.传统的访问方法:http://serverName/index.php(或者其它应用入口文件)/模块/控制器/操作/参数/值-4.入口文件用户请求的PHP文件,负责处理一个请求(注意,不一定是URL请求)的

thinkphp5.0架构总览

ThinkPHP5.0应用基于MVC(模型-视图-控制器)的方式来组织. MVC是一个设计模式,它强制性的使应用程序的输入.处理和输出分开.使用MVC应用程序被分成三个核心部件:模型(M).视图(V).控制器(C),它们各自处理自己的任务. 5.0的URL访问受路由决定,如果关闭路由或者没有匹配路由的情况下,则是基于: http://serverName/index.php(或者其它应用入口文件)/模块/控制器/操作/参数/值... 下面的一些概念有必要做下了解,可能在后面的内容中经常会被提及.