php框架 - thinkPHP M模型的表前缀 什么时候用 $tablePrefix ,什么时候用 'DB_PREFIX'?

查看:190
本文介绍了php框架 - thinkPHP M模型的表前缀 什么时候用 $tablePrefix ,什么时候用 'DB_PREFIX'?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

我知道在创建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_';了

这篇关于php框架 - thinkPHP M模型的表前缀 什么时候用 $tablePrefix ,什么时候用 'DB_PREFIX'?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆