Yii表前缀无法读取具有该前缀的表

Ard*_*eus 2 php frameworks prefix yii

我开始在localhost中开发,使用yii 1.1.11使用自动生成应用程序,创建用户表,使用gii生成crud.当我迁移到webhosting时,我必须使用表的前缀,因此成为"yii_users"并使用以下命令编辑配置:

'db'=>array(
  'connectionString' => 'xxxxx',
  'username' => 'xxxxx',
  'password' => 'xxxxx',
  'tablePrefix' => 'yii_',
),
Run Code Online (Sandbox Code Playgroud)

但我不能再登录并获得错误'表'用户"为活动记录类"用户"无法在数据库中找到.'所以我假设tablePrefix不起作用.如何解决这个问题?

boo*_*dev 7

这需要您也更改所有活动记录,请查看指南:

信息:要使用表前缀功能,可以覆盖AR类的tableName()方法...... ......也就是说,我们返回没有前缀的表名,而不是返回完全限定的表名.并用双花括号括起来

所以你需要这样做:

public function tableName() {
    return '{{user}}';
}
Run Code Online (Sandbox Code Playgroud)

也来自tablePrefixdoc:

通过设置此属性," {{tableName}} " 等任何标记都将替换为"prefixTableName",其中"prefix"指的是此属性值.

(强调我的)