【文件属性】:
文件名称:字段定义-图像目标检测技术及应用
文件大小:2.49MB
文件格式:PDF
更新时间:2021-06-04 00:04:18
ThinkPHP3.1
ThinkPHP3.1 完全开发手册
94
6.3 字段定义
通常情况下,你无须在模型类里面手动定义数据表的字段,系统会在模型首次实例化的时候自动获取数据
表的字段信息(而且只需要一次,以后会永久缓存字段信息,除非设置不缓存或者删除),如果是调试模
式则不会生成字段缓存文件,则表示每次都会重新获取数据表字段信息。
字段缓存保存在 Runtime/Data/_fields/ 目录下面,缓存机制是每个模型对应一个字段缓存文件(而并非
每个数据表对应一个字段缓存文件),命名格式是:
数据库名.模型名.php
例如:
thinkphp.User.php 表示 User 模型生成的字段缓存文件
thinkphp.Article.php 表示 Article 模型生成的字段缓存文件
字段缓存包括数据表的字段信息、主键字段和是否自动增长,如果开启字段类型验证的话还包括字段类型
信息等等,无论是用 M 方法还是 D 方法,或者用原生的实例化模型类一般情况下只要是不开启调试模式都
会生成字段缓存(字段缓存可以单独设置关闭)。
从 3.1 版本开始,模型的字段缓存文件名全部转换成小写,避免重复生成。
可以通过设置 DB_FIELDS_CACHE 参数来关闭字段自动缓存,如果在开发的时候经常变动数据库的结构,
而不希望进行数据表的字段缓存,可以在项目配置文件中增加如下配置:
1. 'DB_FIELDS_CACHE'=>false
注意:调试模式下面由于考虑到数据结构可能会经常变动,所以默认是关闭字段缓存的。
如果需要显式获取当前数据表的字段信息,可以使用模型类的 getDbFields 方法来获取当前数据对象的全
部字段信息,例如:
1. $fields = $User->getDbFields();