# 查询
[TOC]
## 单条数据查询
`find`与 `get` 的区别。查询单条数据只能用find,查询数组数据(非主键字段)只能用get。
`find`或`get`方法返回的是当前**模型的对象实例**,可以使用模型的方法。
`find`或 `get`查询不到结果 返回 null。
简单实例:
```
// 使用数组查询
$user = User::get(['name' => 'thinkphp']);
// 查询单个数据
\app\admin\model\Token::where('id','1')->find();
```
## 多个数据查询
`all`与 `select`的区别。使用数组查询只能使用all。
`all`或 `select`返回的是一个**包含模型对象的二维数组**。
`all`或 `select`查询不到结果 **返回空数组**。
简单实例:
```
// 使用数组查询
\app\admin\model\Token::all(['token' =>'11']);
// select查询
\app\admin\model\Token::select();
```
## 查询语法
简单实例:
```
where('字段名','表达式','查询条件');
whereOr('字段名','表达式','查询条件');
```
注意:使用了where方法后,查询数据可以使用find方法和select方法,不能使用get方法和all方法。如果表达式是 = 第二个参数表达式可以省略不写。
## 链式查询
Thinkphp中,中间的方法不跟原生MySQL要求一样要求顺序必须按照规定的来,但是用于最终的结果只能是find或select,不能是get或all。
简单实例:
```
$model = new Address();
// 指定要查询的字段,原生sql中select后面的字段
$model->field('id,name')->select();
// 相当于原生sql中的order by
$model->order('id desc')->select();
// 相当于原生sql中的limit条件
$model->limit(0,3)->select();
// 相当于原生sql中的group by
$model->group('cate_id')->select();
// 相当于原生sql中的having条件
$model->having('id>3')->select();
// alias方法设置别名,join方法连表查询
$model->alias('a')->join('think_user_type t','a.id=t.user_id', 'left')->select();
```
## 聚合函数
聚合函数只能放在最后且不需要再使用find或select
简单实例:
```
\app\admin\model\Token::where('id','>','1')->max();
```
- 基础
- 安装PHP
- 语言基础
- 变量
- 变量操作
- 超全局数组变量
- 变量作用域
- 变量传值方式
- 常量
- 数据类型
- 运算符
- 流程控制
- 文件包含
- 错误处理
- 字符串操作
- 数组
- 函数
- 进阶
- 面向对象
- 提高
- TP
- 安装项目
- 框架基础知识
- 命令创建模块
- URL生命周期
- 路由操作
- Request请求类
- 参数绑定
- 依赖注入
- 模板操作
- 查询操作
- 添加操作
- laravel
- ☆目录结构
- CSRF攻击
- ☆路由
- ☆控制器
- ☆请求类
- ☆视图
- ☆模板继承
- ☆表单验证
- ☆DB类
- ☆模型
- ☆数据库迁移
- 类型、修饰、索引
- ☆数据填充
- ☆数据分页
- ☆session处理
- ☆中间件
- ☆缓存操作
- ☆文件上传
- ☆接口操作
- ☆扩展插件
- restful
- 工作
- 工作记录
- QQ登录
- 新浪登录
- 微信登录
- sphinx搜索
- 数据库
- MySQL
- ☆数据库操作
- ☆数据表操作
- ☆数据的操作
- 待修改
- 优化
- 存储引擎选择
- 列表类型选择
- 范式
- 慢日志查询
- 精准时间记录查询
- 计划任务 explain
- 索引
- 索与事务
- 查询缓存
- 存储过程
- 触发器
- 分区
- 分表
- sphinx
- 读写分离
- 搜索优化
- 网站静态化
- Memcache
- Mongodb
- Readis
- php使用redis
- 服务器
- Linux
- 目录结构
- 常用命令
- VIM编辑器
- 用户与用户组
- 权限管理
- 运行级别
- 网络模式
- ssh
- 软件安装
- 计划任务
- Ubuntu
- 编译PHP7.3
- 编译MySQL
- 编译Nginx
- apache虚拟机配置
- 安装composer
- Nginx
- Git