>[info] 章節內容
> 0 目錄文件
> 1 功能應用
> 2 功能實現
> 3 小試牛刀
:-: **目錄文件**
> 模型(Model)是主要負責對數據表的操作。在數據庫的基礎上擴展帶有自動功能的。實例化后是包含特定數據的模型。數據可以是單一條數據,也可以是多條數據集合
> 模型的相關目錄在\library\think\model\中。包含模型的有關實現
> 模型的主要實現文件在\lirary\think\Model.php中。
:-: **功能應用**
> 模型的功能基礎 :初始化
> 模型的功能一:數據表的基礎增刪改查
> 模型的功能二:數據表的增刪改查中的自動操作
> 模型的功能三:數據表的增刪改查中的事件回調
> 模型的功能四:數據表的關聯操作
:-: **功能實現**
[TOC]
## 3-0 初始化
> **模型名** 默認為去掉前綴的數據表名稱。可以添加后綴Model
>
> **數據庫** 默認為配置的數據庫,可以在屬性$connection中設置
>
> **數據表** 默認為模型名加上前綴,可以在屬性$table中設置
>
> **數據表主鍵** 默認為id,可以在屬性$pk中設置
## 3-1 基礎增刪改查
獲取單個 get() find()
獲取多個 all() select()
獲取字段 value()
獲取列 column()
動態查詢 getByFieldName()
聚合查詢 count() avg() max()
分批處理 chunk()
游標查詢 cursor()
查詢緩存 設置參數
新增數據 array() 模型屬性名 create()
新增方法 save() saveAll()
更新數據 array() 模型屬性名
更新條件 where() id參數
更新方法 save() saveAll() update()
刪除條件 id主鍵 where()
刪除方法 delete() destroy()
模型外部使用靜態方法進行操作,
模型內部使用動態方法進行操作
## 3-2 自動操作
在增改查的操作中進行數據的自動操作
**數據完成** $auto,$insert,$update
**類型轉換** $type
**json格式化** $json
**獲取器修改器** getFieldNameAttr setFieldNameAttr
**時間戳** $autoWriteTimestamp
**查詢范圍**
**只讀字段**
**軟刪除**
## 3-3 事件回調
**insert事件回調**
**update事件回調**
**write事件回調**
**delete事件回調**
## 3-4 關聯操作
**一對一**
**一對多**
**多對多**
:-: **小試牛刀**