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


    http://520fyl.cnblogs.com/
  • 相关阅读:
    Thread类常用方法
    sql 语句NVL()用法
    SQL极限函数limit()详解<分页必备>
    查询用户上次登录时间问题
    ROWNUM-Oracle中的分页代码
    分组统计查询
    Oracle中的多表查询
    Oracle中的单行函数
    JDBC中的事务-Transaction
    MySql中增加一列
  • 原文地址:https://www.cnblogs.com/hedianzhan/p/9201469.html
Copyright © 2020-2023  润新知