我正在尝试从表中获取数据。为此,我使用过

mage::getModel('module/model')->getData

这已经返回一个空数组,但是我无法弄清为什么我正在调用的表持有数据的原因。

这个模型之间存在差异

class Ps_Prefs_Model_Prefsformelements
extends Mage_Core_Model_Abstract
{
protected function _construct()
{
    $this->_init('ps_prefs/prefsformelements');
}

}

class Ps_Prefs_Model_Resource_Prefsformelements
extends Mage_Core_Model_Resource_Db_Abstract
{
protected function _construct()
{
    $this->_init('ps_prefs/prefsformelements', 'idform_elements');
}
}

class Ps_Prefs_Model_Resource_Prefsformelements_Collection
extends Mage_Core_Model_Resource_Db_Collection_Abstract
{
protected function _construct()
{
    $this->_init('ps_prefs/prefsformelements');
}
}

和我的模块中的其他型号。该描述在于 namespace_module/... 电话的一部分。如您所见,该模型使用 namespace_module/... 虽然我的其他型号正常工作 module/... 我尝试使用以上代码仅使用 module/... 但是我得到了错误 can't retrieve entity config 但是,如果我尝试使用此操作 namespace_module/... 我开始扔错误为什么?

我已经考虑了我的配置 namespace_module/... 当我符合其他模型时,为什么它不起作用?

===

编辑

===

<config>
...
  <global>        
    <models>
        <prefs>
            <class>Ps_Prefs_Model</class>
            <resourceModel>prefs_resource</resourceModel>
        </prefs>

        <prefs_resource>
            <class>Ps_Prefs_Model_Resource</class>
            <entities>
                <prefs>
                    <table>prefcentre</table>
                </prefs>
                <prefsemail>
                    <table>prefcentre_options</table>
                </prefsemail>
                <prefsform>
                    <table>pref_form_elements</table>
                </prefsform>
            </entities>
        </prefs_resource>
    </models>
  ...
</global>
...
</config>
有帮助吗?

解决方案

我认为问题是您没有表格的定义 prefs/prefsformelements. 。如果您查看资源的初始化方式,则需要以下内容:

/**
 * Standard resource model initialization
 *
 * @param string $mainTable
 * @param string $idFieldName
 * @return Mage_Core_Model_Resource_Abstract
 */
protected function _init($mainTable, $idFieldName)
{
    $this->_setMainTable($mainTable, $idFieldName);
}

因此,查看此和您的config.xml,您缺少匹配的表 prefsformelements 但是您的其他人可能会把名字混合在一起。

<prefsformelements>
    <table>pref_form_elements</table>
</prefsformelements>

其他提示

使用Mage :: GetModel而不是Mage :: GetModel。

许可以下: CC-BY-SA归因
scroll top