# 定义模型
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.kancloud.cn/houdunwang/hdphp3/215185)的方法可以使用静态调用
```
News::find(1);
```
#### 模型方法
```
$model = new News;
$model->模型方法();
```
- 文档已经迁移到后盾人
- 介绍
- 框架特性
- 开发规范
- 许可协议
- 作者向军
- 安装框架
- 更新框架
- 基础
- 入口文件
- 应用配置
- 优雅链接
- 目录结构
- 系统常量
- 自动加载
- 应用密钥
- 系统函数
- CSRF保护
- 依赖注入
- 跨域访问
- 配置
- 配置文件
- 基本功能
- 扩展配置
- c 函数
- 控制器
- 定义声明
- 基本使用
- 相关函数
- 响应消息
- 路由
- 基础知识
- 基础路由
- 路由参数
- 参数检测
- 依赖注入
- 控制器
- 分组路由
- RESTful
- 别名路由
- 数据
- 配置相关
- 核心操作
- 查询构造器
- 日志记录
- 分页处理
- 事务处理
- 函数相关
- 数据库
- 数据迁移
- 数据填充
- 模型
- 定义模型
- 模型动作
- 模型验证
- 自动完成
- 自动过滤
- 字段保护
- 数据填充
- 多表关联
- 分页处理
- 仓库
- 数据仓库
- 查询规则
- 视图
- 基础知识
- 模板配置
- 模板文件
- 分配数据
- 系统标签
- 扩展标签
- 缓存模板
- 模板继承
- 视图函数
- widget
- vue组件
- 中间件
- 中间件
- 缓存
- 基本操作
- 文件缓存
- 数据表缓存
- 服务
- 服务容器
- 定制服务
- 相关函数
- 请求
- 基本使用
- 请求扩展
- 测试
- 基础知识
- 基本使用
- HTTP测试
- 调试
- 调试模式
- 日志管理
- 组件
- 多语言
- 响应处理
- Cookie
- Session
- 验证码
- XML
- 自动验证
- 文件处理
- 压缩解压
- RBAC
- 数组增强
- 分页管理
- 图像处理
- 生成静态
- 加密解密
- 字符串
- 数据集合
- 工具服务
- 目录操作
- 邮件发送
- CURL
- QQ登录
- 数据备份
- 购物车
- 日志处理
- 命令组件
- 二维码
- 后盾云
- 日期处理
- 阿里
- 支付宝
- 阿里云直播
- 阿里云短信
- 阿里云邮件
- 阿里云OSS
- SOCKET
- 启动与关闭
- 前端
- 微信