编程语言php框架 - thinkPHP M模型的表前缀 什么时候用 $tablePrefix ,什么时候用 ''D
我知道在创建M模型的时候,有两种办法定义 表前缀,
一种是 在 $tablePrefix 一种是定义在 $connection 中,
为什么这里我用
protected $connection = array ( 'DB_TYPE' => 'mysql', //数据库类型 'DB_USER' => 'root', //用户名 'DB_PWD' => '', //密码 'DB_HOST' => 'localhost', //域名 'DB_PORT' => '3306', //?? 'DB_NAME' => 'minute1', //库名 'DB_CHARSET' => 'UTF8', //编码 'DB_PREFIX' => 'minute1_' //★★★★★★★★★★★★数据库表前缀minute1_ );
不行,而用了 protected $tablePrefix="minute1_" 就好了,请问都该什么时候用哪种?
回复内容:
我知道在创建M模型的时候,有两种办法定义 表前缀,
一种是 在 $tablePrefix 一种是定义在 $connection 中,
为什么这里我用
protected $connection = array ( 'DB_TYPE' => 'mysql', //数据库类型 'DB_USER' => 'root', //用户名 'DB_PWD' => '', //密码 'DB_HOST' => 'localhost', //域名 'DB_PORT' => '3306', //?? 'DB_NAME' => 'minute1', //库名 'DB_CHARSET' => 'UTF8', //编码 'DB_PREFIX' => 'minute1_' //★★★★★★★★★★★★数据库表前缀minute1_ );
不行,而用了 protected $tablePrefix="minute1_" 就好了,请问都该什么时候用哪种?
$tablePrefix是定义在Model中的,优先级大于配置文件中,使用情况的话一般是你的项目中初期表前缀全部比如为“a_”,你在配置文件中定义了
'DB_PREFIX'=>'a_'
但是后面加了个 b_temp表,这时候实例化temp 的时候如果不加处理,系统会查找a_temp,这个表不存在,这时候就需要在Temp模型中定义$tablePrefix='b_';了
文章来源:https://www.php.cn/faq/342303.html
赞 (0)