首页 > Web开发 > 详细

ThinkPHP5.0 模型查询操作

时间:2017-07-06 19:34:12      阅读:391      评论:0      收藏: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(‘thinkphp@qq.com‘);

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

 

 

ThinkPHP5.0 模型查询操作

原文:http://www.cnblogs.com/520fyl/p/7127610.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!