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 = \app\admin\model\User::get(1);

$user = \app\admin\model\User::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’);

ThinkPHP中框架查询的更多相关文章

  1. THINKPHP 中关联查询(多表查询)

    THINKPHP 中关联查询(多表查询)可以使用 table() 方法或和join方法,请看示例: 1.Table方法:定义要操作的数据表名称,可以动态改变当前操作的数据表名称,需要写数据表的全名,包 ...

  2. thinkphp中的查询语句

    <?php namespace Admin\Controller; use Think\Controller; class MainController extends Controller { ...

  3. ThinkPHP(3)SQL查询语句

    ThinkPHP中对查询语句,包含了基本的查询方式.表达方式.快速查询.区间查询.组合查询.SQL查询.动态查询和子查询. 一.查询方式 ThinkPHP提供了三种基本的查询方式:字符串条件查询.索引 ...

  4. ThinkPHP中 按条件查询后列表显示

    最近在项目中遇到了需要根据下拉框的条件筛选出符合条件的数据,然后进行列表显示的问题. 在ThinkPHP中进行列表显示的传统过程:通过在后台控制器中查询出数据,然后通过$this->assign ...

  5. Thinkphp中查询复杂sql查询表达式,如何表达MYSQL中的某字段不为空is not null?

    Thinkphp中查询复杂sql查询表达式,如何表达MYSQL中的某字段不为空is not null?先上两种实现方式的实例:$querys["house_type_image"] ...

  6. thinkphp中如何是实现多表查询

    多表查询经常使用到,但如何在thinkphp中实现多表查询呢,其实有三种方法. 1 2 3 4 5 6 7 8 9 10 11 12 // 1.原生查询示例: $Model = new Model() ...

  7. TP框架中field查询字段

    TP框架中field查询字段 不是fields 也不是files !!!! 不是fields 也不是files !!!! 不是fields 也不是files !!!! 不是fields 也不是file ...

  8. TP框架中模糊查询实现

    TP框架中模糊查询实现 $where['g.name'] = array('like','%'.$groupname.'%'); 表达式查询 上面的查询条件仅仅是一个简单的相等判断,可以使用查询表达式 ...

  9. TP框架---thinkphp中ajax分页

    //点击类别后要显示的内容 public function pagechuli3()//这个方法的功能是根据ajax传过来的值查询数据,再将查询出来的数据返回到ajax,返回的默认是JSON类型. { ...

随机推荐

  1. freemarker数据格式化问题(即数值超过三位后自动添加逗号问题)

    实际数据:{value:1007, name:'通用设备'}, 浏览器回显数据: 得出: freemarker 当数据超过3位的时候,会自动用逗号截取 格式如:1,007 解决办法: 加?c,如:${ ...

  2. MongoDB 快速扫盲贴

    长话短说 经过996的历练,开发者潜意识里总是以object的视角看待事物, 现在某些数据库也具备这样的视角. MongoDB是一个文档型(类JSON 文档)数据库,相比传统的关系型row/colum ...

  3. Silky-CTF: 0x02 Vulhub Walkthrough

    靶机地址: https://www.vulnhub.com/entry/silky-ctf-0x02,307/ 主机扫描: HTTP进行目录爆破 尝试SQL注入会被封掉IP 经过尝试发现usernam ...

  4. java正则表达式大全(常用)

    一.校验数字的表达式 数字:^[-]*$ n位的数字:^\d{n}$ 至少n位的数字:^\d{n,}$ m-n位的数字:^\d{m,n}$ 零和非零开头的数字:^(|[-][-]*)$ 非零开头的最多 ...

  5. Linux-进程的观察

    16.1.1 进程与程序 ·程序 (program):通常为 binary program ,放置在储存媒体中 (如硬盘.光盘.软盘.磁带等), 为实体文 件的型态存在: ·进程 (process): ...

  6. Nginx+Tomcat8+Memcached实现负载均衡及session共享

    1> 基础环境 简易拓扑图: 2> 部署Tomcat [root@node01 ~]# ll -h ~ |egrep 'jdk|tomcat'-rw-r--r-- 1 root root ...

  7. ASP.NET Core gRPC 入门全家桶

    一. 说明 本全家桶现在只包含了入门级别的资料,实战资料更新中. 二.官方文档 gRPC in Asp.Net Core :官方文档 gRPC 官网:点我跳转 三.入门全家桶 正片: ASP.NET ...

  8. js 实现ReplaceAll 的方法

    JS  字符串有replace() 方法.但这个方法只会对匹配到的第一个字串替换. 如下例: <HTML> <HEAD> <TITLE> New Document ...

  9. WinForm 无边框窗体改变尺寸及移动窗体

    #region 无边框窗体移动改变大小 [DllImport("user32.dll")] public static extern bool ReleaseCapture(); ...

  10. VC遍历访问目录下的文件

    访问目录文件夹下的文件是经常需要的操作,C/C++和win32接口都没有提供直接调用的函数.在这里总结了几个经常用到的函数,通过MFC的CFileFind函数递归遍历实现,包括以下几个功能函数: 查找 ...