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不起作用.如何解决这个问题?
这需要您也更改所有活动记录,请查看指南:
信息:要使用表前缀功能,可以覆盖AR类的tableName()方法...... ......也就是说,我们返回没有前缀的表名,而不是返回完全限定的表名.并用双花括号括起来
所以你需要这样做:
public function tableName() {
return '{{user}}';
}
Run Code Online (Sandbox Code Playgroud)
也来自tablePrefixdoc:
通过设置此属性," {{tableName}} " 等任何标记都将替换为"prefixTableName",其中"prefix"指的是此属性值.
(强调我的)