zoukankan      html  css  js  c++  java
  • 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/
  • 相关阅读:
    第01组-Alpha冲刺总结
    pypy windows安装scrapy
    Python:pip无法使用No module named '_sysconfigdata_m_linux_x86_64-linux-gnu'
    Jenkins+Ansible+Gitlab:通过curl自动推送文件&gitlab自动触发构建
    zabbix安装及问题小结
    虚拟机中的jenkins无法访问&Nginx配置
    centos7 安装gitlab及简单配置
    kerberos&LDAP实现免密码登录搭建
    kerberos&ssh 原理、免密登录搭建
    自启动脚本/etc/rc.local文件
  • 原文地址:https://www.cnblogs.com/hedianzhan/p/9201469.html
Copyright © 2011-2022 走看看