跟随Alan Storm的教程,我在调用createEntityTables()方法时遇到了一些问题。我的脚本就像:
$installer->createEntityTables(
$this->getTable('complexworld/eavblogpost')
);
我已经解决了与BLOB / TEXT Mysql错误相关的问题,但是发生了另一个问题。我创建的表有双重前缀(“mgt_”是前缀),
mgt_mgt_eavblog_posts
mgt_mgt_eavblog_posts_char
mgt_mgt_eavblog_posts_datetime
mgt_mgt_eavblog_posts_decimal
mgt_mgt_eavblog_posts_int
mgt_mgt_eavblog_posts_text
mgt_mgt_eavblog_posts_varchar
试图挖掘createEntityTables()方法,而我打印$ this-> getTable($ baseTableName),
if (!$isNoCreateMainTable) {
/**
* Create table main eav table
*/
echo $this->getTable($baseTableName);
exit;
$connection = $this->getConnection();
我在屏幕上显示“mgt_mgt_eavblog_posts”,这意味着核心方法可能在表名中添加了额外的前缀。知道这里出了什么问题吗?我非常感谢您的帮助!
答案 0 :(得分:5)
$ table = strtolower(substr(ltrim($ this-> getTable('complexworld / eavblogpost')),strlen(Mage :: getConfig() - > getTablePrefix())));
$ installer-> createEntityTables($表);