# 查詢
[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