我开始在localhost中开发,使用yii 1.1.11使用auto generate app,create users table,使用gii生成crud。当我迁移到webhosting时,我必须为表使用前缀,因此成为“yii_users”并使用以下命令编辑配置:
'db'=>array(
'connectionString' => 'xxxxx',
'username' => 'xxxxx',
'password' => 'xxxxx',
'tablePrefix' => 'yii_',
),
但是我无法再登录并获得错误'无法在数据库中找到用于活动记录类“用户”的表“用户”。 '所以我假设tablePrefix不起作用。如何解决这个问题?
答案 0 :(得分:7)
这要求您同时更改所有活动记录,check the guide:
信息:要使用表前缀功能,可以覆盖AR类的tableName()方法... ...... 也就是说,我们不返回完全限定的表名,而是返回没有前缀的表名,并用双括号括起来
所以你需要这样做:
public function tableName() {
return '{{user}}';
}
同样来自tablePrefix
doc:
通过设置此属性,“ {{tableName}} ”等任何标记都将替换为“prefixTableName”,其中“prefix”指的是此属性值。
(强调我的)