zoukankan      html  css  js  c++  java
  • ThinkPHP中框架查询

    1.查询多条数据

             1.1静态调用all方法或者select方法

    // 获取所有数据 all 和 select
    
    $list = User::all();
    
    // 根据主键获取多个数据all 和 select   where id in (1,2,3)
    
    $list = User::all('1,2,3');
    
    $list = User::all([1,2,3]);
    
    //或者使用数组查询(只能用all不能用select)   where status = 1
    
    $list = User::all(['status'=>1]);

                  1.2动态调用all方法或者select方法

    $user = new User();
    
    //查询所有数据all 和 select
    
    $list = $user->select();
    
    //根据主键查询多条数据all 和 select
    
    $list = $user->select('1,2,3');
    
    $list = $user->select([1,2,3]);
    
    //或者使用数组查询(只能用all不能用select)
    
    $list = $user->all(['status'=>1]);

               注:all方法或者select方法返回的是一个包含模型对象的二维数组或者空数组select方法和All方法的应用:[obj, obj]

    2.查询一条数据

              2.1静态调用get方法或者find方法

    //取出主键为1的数据  where id = 1
    
    $user = appadminmodelUser::get(1);
    
    $user = appadminmodelUser::find(1);
    
    //使用数组查询(非主键字段),只能用get不能用find   where name = 'thinkphp'
    
    $user = User::get(['name' => 'thinkphp']);
    
    //取出第一条数据,只能用find不能用get
    
    $user = User::find();

                  2.2动态调用get方法或者find方法

    $user = new User();
    
    //取出主键为1的数据
    
    $info = $user->find(1);
    
    $info = $user->get(1);
    
    //使用数组查询(非主键字段),只能用get不能用find
    
    $info = $user->get(['name' => 'thinkphp']);
    
    //取出第一条数据,只能用find不能用get
    
    $info = $user->find();

                 注:get或者find方法返回的是当前模型的对象实例或者null返回的模型对象,可以直接当做数组使用,也可以调用toArray() 直接转化为数组。find方法和Get方法的应用:

    3.其他查询方法

               3.1where方法

    $info = User::where('id','=','1')->find();
    
    $info = User::where('id','1')->find();
    
    $info = User::where('name','like','%thinkphp%')->select();

                   3.2链式操作

    $model = new Address();
    
    $model->field('id
    name')->select(); //指定要查询的字段,原生sql中select后面的字段
    
    $model->order('id desc,time desc')->select(); //相当于原生sql中的order by
    
    $model->limit(3)->select(); //相当于原生sql中的limit条件
    
    $model->limit(0,3)->select(); 
    
    $model->limit('0,3')->select(); 
    
    $model->group('cate_id')->select();  //相当于原生sql中的group by
    
    $model->having('id>3')->select();  //相当于原生sql中的having条件
    
    $model->alias('a')->join('think_user_type t','a.id=t.user_id', 'left')->select(); //alias方法设置别名,join方法连表查询

                   3.3聚合查询

                在模型中也可以调用数据库的聚合方法进行查询

                3.4数据字段查询

    查询一条记录的一个字段的值
    Goods::where(‘id’, 2)->value(‘goods_name’);
    查询多条记录的一个字段的值,返回一个一维索引数组
    Goods::where(‘id’, ‘GT’, 2)->column(‘goods_name’);
    查询多条记录的一个字段的值,以id字段值作为数组索引
    Goods::where(‘id’, ‘GT’, 2)->column(‘goods_name’, ‘id’);
  • 相关阅读:
    QT QFileDialog::getOpenFileName 对文件名进行过滤
    LeetCode 17 Letter Combinations of a Phone Number
    安装terminator与配置
    导出 .bag 文件 pointcloud 话题 到 pcd文件
    Spring SpringMVC文件上传错误(二)
    Spring SpringMVC文件上传错误(一)
    Spring配置文件中的file与classpath
    常用python的标准库
    Django之天天生鲜项目
    Django之富文本编辑器
  • 原文地址:https://www.cnblogs.com/shineguang/p/11144781.html
Copyright © 2011-2022 走看看