欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

thinkphp5 - thinkPHP 自定义 model.class.php 中,这个属性有什么用?

程序员文章站 2022-06-08 15:52:33
...
class ★Model extends Model
{

    protected $tableName = 'abc';

}

$tableName 这个属性有什么用?
不是 ★号 部分就是表名吗?
为什么再弄一个 protected $tableName = '◆';
要是◆ 和★一样,不就重复了,就多次一举了,

要是不一样,那创建 $mydb = D("★") 的时候,不就找不到文件了?

回复内容:

class ★Model extends Model
{

    protected $tableName = 'abc';

}

$tableName 这个属性有什么用?
不是 ★号 部分就是表名吗?
为什么再弄一个 protected $tableName = '◆';
要是◆ 和★一样,不就重复了,就多次一举了,

要是不一样,那创建 $mydb = D("★") 的时候,不就找不到文件了?

模型的名称可以和数据表名称不同,这样更加灵活,例如 数据表是pre_q_a,模型名称可以是 QaModel,
protected $tableName = 'q_a'

这个是由于php和sql数据库命名的问题:
php类采用驼峰法命名,如UserGroup;方法采用驼峰法命名,如public function getUserInfo(){};php函数的命名使用小写字母和下划线的方式,如function get_string_length(){};
mysql数据库表和字段基本上采用小写字母和下划线的方式,如表名user_group,字段名create_time.