Php 自定义数据库表未显示在Magento中

Php 自定义数据库表未显示在Magento中,php,mysql,zend-framework,magento,Php,Mysql,Zend Framework,Magento,我创建了一个自定义模块,其中包含一个自定义数据库表,用于存储/获取值。我遵循了下面的目录结构,但我的表仍然没有显示在数据库中。你知道为什么吗 app/code/local Namespace Module Block controllers IndexController.php etc config.xml Helper Data.php Model Module.php Observer.php

我创建了一个自定义模块,其中包含一个自定义数据库表,用于存储/获取值。我遵循了下面的目录结构,但我的表仍然没有显示在数据库中。你知道为什么吗

app/code/local
Namespace
 Module
   Block

   controllers
     IndexController.php

   etc
     config.xml

   Helper
     Data.php

   Model
     Module.php
     Observer.php
     Mysql4
       Module.php
       Module
         Collection.php

   sql
     module_setup
        mysql4-install-0.1.0.php

   app/etc
      Namespace_Module.xml
这是我的config.xml

<config>    
<modules>
    <Namespace_Module>
        <version>0.1.0</version>
    </Namespace_Module>
</modules>
<global>
<helpers>
    <module>
        <class>Namespace_Module_Helper</class>
    </module>
</helpers>  
<models>
    <module>
        <class>Namespace_Module_Model</class>
    <resourceModel>module_mysql4</resourceModel>
    </module>
    <module_mysql4>
        <class>Namespace_Module_Model_Mysql4</class>
        <entities>
            <module>
                <table>module</table>
            </module>
        </entities>
    </module_mysql4>
 </models>
<resources>
        <module_setup>
            <setup>
                <module>Namespace_Module</module>
            </setup>
            <connection>
                <use>core_setup</use>
            </connection>
        </module_setup>
        <module_write>
            <connection>
                <use>core_write</use>
            </connection>
        </module_write>
        <module_read>
            <connection>
                <use>core_read</use>
            </connection>
        </module_read>
    </resources>
    <blocks>
        <module>
            <class>Namespace_Module_Block</class>
        </module>
    </blocks>
 </global>
 <crontab>
<jobs>
<send_reviews_email>
    <schedule><cron_expr>*/5 * * * *</cron_expr></schedule>
    <run><model>module/observer::sendReviewsEmail</model></run>
</send_reviews_email>
</jobs>
 </crontab>
 <frontend>
   <routers>
     <module>
        <use>standard</use>
        <args>
            <module>Namespace_Module</module>
            <frontName>module</frontName>
        </args>
      </module>
    </routers>
  </frontend>       
</config>

0.1.0
名称空间\模块\辅助程序
名称空间模块模型
模块_mysql4
名称空间\模块\模型\ Mysql4
模块
名称空间模块
核心单元设置
核心写入
核心读取
名称空间模块块
*/5 * * * *
模块/观察员::SendReviews电子邮件
标准
名称空间模块
模块
这是我的mysql4-install-0.1.0.php

<?php
  $installer = $this;
  $installer->startSetup();
  $installer->run("
  -- DROP TABLE IF EXISTS {$this->getTable('cronemails')};
  CREATE TABLE {$this->getTable('cronemails')} (
  `cronemails_id` int(11) unsigned NOT NULL auto_increment,
  `order_id` varchar(255) default '',
  `order_email_id` varchar(255) default '',
  `review_request` smallint(6) NOT NULL default '0',
  `coupon_sent` smallint(6) NOT NULL default '0',
  PRIMARY KEY (`cronemails_id`)
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

    ");
  $installer->endSetup();

  • 检查您的模块是否已在core_资源表中。如果是,则将其删除,然后重试

  • 检查config.xml中的模块版本是否等于或大于0.1.0

  • 检查您的模块是否已在core_资源表中。如果是,则将其删除,然后重试

  • 检查config.xml中的模块版本是否等于或大于0.1.0


  • 尝试将版本号更改为0.1.1,并将文件重命名为`mysql4-upgrade-0.1.0-0.1.1.php。

    虽然您使用的是1.6.1.0,但我不确定这是否有效:如果不行,请尝试1.6.1.0-1.6.1.1

    尝试将版本号更改为0.1.1,并将文件重命名为'mysql4-upgrade-0.1.0-0.1.1.php.


    尽管您使用了1.6.1.0,但我不确定这是否有效:如果不行,请尝试1.6.1.0-1.6.1.1

    它不在我的核心资源表中。我将模块版本从0.1.0更改为1.6.1.0。。但它仍然没有显示您的模块版本,以及mysql4-install-X.X.X.php中的版本是什么?我的模块版本是1.6.1.0 n mysql4-install-0.1.0.php。我应该把它改成mysql4-install-1.6.1.php吗?我宁愿建议把两者都改成0.1.0那么这就是为什么bfre…config.xml是0.1.0n,mysql4文件也是如此…仍然d表力显示它不在我的核心资源表中。我将模块版本从0.1.0更改为1.6.1.0。。但它仍然没有显示您的模块版本,以及mysql4-install-X.X.X.php中的版本是什么?我的模块版本是1.6.1.0 n mysql4-install-0.1.0.php。我应该把它改成mysql4-install-1.6.1.php吗?我宁愿建议把两者都改成0.1.0那么这就是为什么bfre…config.xml是0.1.0 n那么mysql4文件也是如此…仍然是表力显示你在config.xml中配置了设置吗?是的。但是它没有显示在core_resources表中。您是否愿意将它粘贴到这里,以便我们检查是否没有错误,并粘贴mysql4-install-0.1.0.php的内容我已经编辑了我的问题,以适应config.xml n mysql4-install-0.1.0.php。请查看一下,看看您是否可以帮助我发现任何错误。您是否在您的数据库中配置了设置xml?是的,我有。但是它没有显示在core_resources表中。您是否愿意将它粘贴到这里,以便我们检查是否没有错误,并粘贴mysql4-install-0.1.0.php的内容我已经编辑了我的问题,以适应config.xml n mysql4-install-0.1.0.php。请看一看,看看您是否可以帮助我发现任何错误。Sry中途离开了对话,由于失去互联网连接。我想问您sql/module_安装文件夹是否只包含一个文件,即.mysql4-upgrade-0.1.0-0.1.1.php或.02.php?您好,只是想让您知道,您的解决方案有效!!:)我将config.xml更改为0.0.2,并将文件重命名为mysql4-upgrade-0.0.1-0.02.php。成功了。我现在可以在core_资源表中看到我的模块。这是否意味着我现在可以使用Magento方法保存数据并将数据提取到此表中。再次感谢迪克·劳伦特。你们帮了大忙!非常感谢。因为我实际上没有看到一个表,而只是在core_资源表中看到我模块的条目,我可以不使用这些方法来设置和获取自定义表中的数据吗?@ivn否,要保存/获取此表中的数据,您必须创建适当的类。我建议你研究一下,外面有很多信息。您甚至可以从模块创建者开始。请考虑接受这个答案,我已经接受了你的答案。你能给我提供更多的链接吗。我已经按照链接modules_和_development/0-_module _development_在_magento/custom_module_和_custom_database_表中描述的步骤进行了操作,但没有成功。因此,如果你有任何其他链接或博客文章/教程在脑海中,然后请给我的链接。在此之前,再次感谢您的帮助!由于失去互联网连接,Sry已中途离开对话。我想问您sql/module_安装文件夹是否只包含一个文件,即.mysql4-upgrade-0.1.0-0.1.1.php或.02.php?您好,只是想让您知道,您的解决方案有效!!:)我将config.xml更改为0.0.2,并将文件重命名为mysql4-upgrade-0.0.1-0.02.php。成功了。我现在可以在core_资源表中看到我的模块。这是否意味着我现在可以使用Magento方法保存数据并将数据提取到此表中。再次感谢迪克·劳伦特。你们帮了大忙!非常感谢。因为我实际上没有看到一个表,而只是在core_资源表中看到我模块的条目,我可以不使用这些方法来设置和获取自定义表中的数据吗?@ivn否,要保存/获取此表中的数据,您必须创建适当的类。我建议你研究一下,外面有很多信息。您甚至可以从模块创建者开始。请考虑接受这个答案,我已经接受了你的答案。你能给我提供任何链接吗