Magento 1.6.2在自定义eav实体设置期间调用createEntityTables时获得了双重前缀

1 magento

跟随Alan Storm的教程,我在调用createEntityTables()方法时遇到了一些问题.我的脚本是这样的:

$installer->createEntityTables(
    $this->getTable('complexworld/eavblogpost')
);
Run Code Online (Sandbox Code Playgroud)

我已经解决了与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
Run Code Online (Sandbox Code Playgroud)

试图挖掘createEntityTables()方法,而我打印$ this-> getTable($ baseTableName),

if (!$isNoCreateMainTable) {
        /**
         * Create table main eav table
         */
        echo $this->getTable($baseTableName);
        exit;
        $connection = $this->getConnection();
Run Code Online (Sandbox Code Playgroud)

我在屏幕上显示"mgt_mgt_eavblog_posts",这意味着核心方法可能为表名添加了额外的前缀.知道这里出了什么问题吗?我非常感谢您的帮助!

小智 5

$ table = strtolower(substr(ltrim($ this-> getTable('complexworld/eavblogpost')),strlen(Mage :: getConfig() - > getTablePrefix())));

$ installer-> createEntityTables($表);