# 定義模型
HDPHP 框架提供了高效的 Model(模型)操作機制,具有以下特點:
1. 可以對基礎模型類進行隨意的擴充
2. 支持加載其他模塊或其他應用類某個模塊的模型
3. 豐富的加載模型方式
4. 功能強大的數據操作方式
5. 自動驗證
6. 自動完成
7. 自動映射
8. 表單令牌
[TOC]
>提示:所有查詢構造器里的方法,查詢 Model 模型時也可以使用。
## 創建模型
你也可以通過 model:make 命令自動生成模型:
```
php hd make:model news
```
## 模型定義
我們先從建立一個 Model 模型開始。模型通常放在 system\model 目錄下,但是您可以將它們放在任何地方。
```
namespace system\model;
use houdunwang\model\Model;
class News extends model{
protected $table = "news";
}
```
模型數據表是可選的,如果不設置系統將取模型名做為表名,請看下面的代碼:
```
class News extends Model{
}
```
模型定義并沒有設置$table 屬性,那么系統會將模型名稱轉為小寫后做為表名。
還有一種情況,如果我們有一個數據表user_role,我們在不設置表名時如何定義模型名呢?代碼如下:
```
class UserRole extends Model{
}
```
系統會自動將UserRole 轉為 user_role 做為表名使用。
上面的命令會在system\model目錄下創建 News.php模型文件
## 模型方法
#### 靜態調用
靜態方法或[結構查詢器](http://www.hmoore.net/houdunwang/hdphp3/215185)的方法可以使用靜態調用
```
News::find(1);
```
#### 模型方法
```
$model = new News;
$model->模型方法();
```
- 文檔已經遷移到后盾人
- 介紹
- 框架特性
- 開發規范
- 許可協議
- 作者向軍
- 安裝框架
- 更新框架
- 基礎
- 入口文件
- 應用配置
- 優雅鏈接
- 目錄結構
- 系統常量
- 自動加載
- 應用密鑰
- 系統函數
- CSRF保護
- 依賴注入
- 跨域訪問
- 配置
- 配置文件
- 基本功能
- 擴展配置
- c 函數
- 控制器
- 定義聲明
- 基本使用
- 相關函數
- 響應消息
- 路由
- 基礎知識
- 基礎路由
- 路由參數
- 參數檢測
- 依賴注入
- 控制器
- 分組路由
- RESTful
- 別名路由
- 數據
- 配置相關
- 核心操作
- 查詢構造器
- 日志記錄
- 分頁處理
- 事務處理
- 函數相關
- 數據庫
- 數據遷移
- 數據填充
- 模型
- 定義模型
- 模型動作
- 模型驗證
- 自動完成
- 自動過濾
- 字段保護
- 數據填充
- 多表關聯
- 分頁處理
- 倉庫
- 數據倉庫
- 查詢規則
- 視圖
- 基礎知識
- 模板配置
- 模板文件
- 分配數據
- 系統標簽
- 擴展標簽
- 緩存模板
- 模板繼承
- 視圖函數
- widget
- vue組件
- 中間件
- 中間件
- 緩存
- 基本操作
- 文件緩存
- 數據表緩存
- 服務
- 服務容器
- 定制服務
- 相關函數
- 請求
- 基本使用
- 請求擴展
- 測試
- 基礎知識
- 基本使用
- HTTP測試
- 調試
- 調試模式
- 日志管理
- 組件
- 多語言
- 響應處理
- Cookie
- Session
- 驗證碼
- XML
- 自動驗證
- 文件處理
- 壓縮解壓
- RBAC
- 數組增強
- 分頁管理
- 圖像處理
- 生成靜態
- 加密解密
- 字符串
- 數據集合
- 工具服務
- 目錄操作
- 郵件發送
- CURL
- QQ登錄
- 數據備份
- 購物車
- 日志處理
- 命令組件
- 二維碼
- 后盾云
- 日期處理
- 阿里
- 支付寶
- 阿里云直播
- 阿里云短信
- 阿里云郵件
- 阿里云OSS
- SOCKET
- 啟動與關閉
- 前端
- 微信