美文网首页
THINKPHP5之模型命名

THINKPHP5之模型命名

作者: 叶不归宿 | 来源:发表于2018-08-09 10:58 被阅读0次
    官方文档:

    模型会自动对应数据表,模型类的命名规则是除去表前缀的数据表名称,采用驼峰法命名,并且首字母大写,例如:

    模型名              约定对应数据表(假设数据库的前缀定义是 think_)
    User                 think_user
    UserType         think_user_type
    如果你的规则和上面的系统约定不符合,那么需要设置Model类的数据表名称属性,以确保能够找到对应的数据表

    // 设置当前模型对应的完整数据表名称
        protected $table = 'think_user';
    

    若不想设置完整的数据表名
    protected $table = 'user';
    则需要在thinkphp/library/think/Model.php 文件进行修改
    修改前:

    // 设置当前数据表和模型名
    if (!empty($this->table)) {
          $query->setTable($this->table);
    } else {
          $query->name($this->name);
    }
    

    修改后:

    // 设置当前数据表和模型名
    $config = Config::get('database');
    
    if (!empty($this->table)) {
          $query->setTable($config['prefix'].$this->table);
    } else {
          $query->name($this->name);
    }
    

    需要确保database.php中配置了数据库表前缀‘prefix’


    关联

    关联方法的命名规范是驼峰法,而关联属性则一般是小写+下划线的方式,系统在获取的时候会自动转换对应,读取user_profile关联属性则对应的关联方法应该是userProfile。

    相关文章

      网友评论

          本文标题:THINKPHP5之模型命名

          本文链接:https://www.haomeiwen.com/subject/fmjqbftx.html