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否,要保存/获取此表中的数据,您必须创建适当的类。我建议你研究一下,外面有很多信息。您甚至可以从模块创建者开始。请考虑接受这个答案,我已经接受了你的答案。你能给我提供任何链接吗