thinkPHP中模型类的定义

By | 2020年4月14日

在thinkPHP中基础的模型类是think\Model,该类完成了基本的CURD、ActiveRecord模式、连贯操作和统计查询,一些高级特性被封装到其他模型扩展中。

基础模型类的设计非常灵活,甚至可以无需进行任何模型定义,就可以进行相关表的ORM和CURD操作,只有在需要封装单独的业务逻辑时模型类才需要被定义。


模型定义

模型类需要继承think\Model或子类。

如果按照系统的规范来命名模型类的话,可以自动关联数据表。

命名规则
是除去表前缀的数据表名称,采用驼峰法命名,并且首字母大写,然后加上模型层的名称(默认是Model,配置项 DEFAULT_M_LAYER ),如:

UserModel =>  pre_user
UserTypeModel => pre_user_type

如果你的规则和系统的约定不匹配,则需要手动指定对应的数据表。


数据表定义

在模型基类里有几个关于数据表名称的属性定义,重写这几个属性即可以指定任意表。

  • tablePrefix: 表前缀,如果未定义则获取 DB_PREFIX
  • tableName: 不包含表前缀的表名,统一会转换成小写
  • trueTabelName: 包含表前缀的表名,数据库中的实际表名
  • dbName: 数据库名

Category: PHP

请关注公众号获取更多资料

发表评论