资源功能-magento

资源功能-magento,magento,Magento,我正在尝试在magento中创建新的扩展。我已经为我们的扩展创建了自定义表。我想从自定义表中选择值。为此,我尝试了以下方法 在我们的Company\u name/Module\u name/Model/file.php中,我使用了以下代码来调用资源函数 return Mage::getResourceModel('Modulename/filename')->functionName(); 它在我们的项目上运行得很好 但如果我使用下面的片段 return $this->_getRe

我正在尝试在magento中创建新的扩展。我已经为我们的扩展创建了自定义表。我想从自定义表中选择值。为此,我尝试了以下方法

在我们的Company\u name/Module\u name/Model/file.php中,我使用了以下代码来调用资源函数

return Mage::getResourceModel('Modulename/filename')->functionName();
它在我们的项目上运行得很好

但如果我使用下面的片段

return $this->_getResource()->functionname();
它返回以下错误

a:5:{i:0;s:20:"Resource is not set.";i:1;s:3048:"#0 /var/www/magento/app/code/core/Mage/Core/Model/Abstract.php(136): Mage::throwException('Resource is not...')
我还通过向module/etc/config.xml添加以下代码来配置资源类

<models>
    <modulename>
        <class>Companyname_Modulename_Model_Filename</class>
        <resourceModel>modulename_resource</resourceModel>
    </modulename>
    <modulename_resource>
        <class>Companyname_Modulename_Model_Resource</class>
    </modulename_resource>
</models>

公司名称\u模块名称\u模型\u文件名
modulename_资源
公司名称模块名称模型资源

我不知道我在哪里犯了错误。如果你知道,让我知道。提前感谢。

请参阅资源模型定义

<?php
protected function _getResource()
{
    if (empty($this->_resourceName)) {
        Mage::throwException(Mage::helper('core')->__('Resource is not set.'));
    }

    return Mage::getResourceSingleton($this->_resourceName);
}
你也可以用这个

  $this->_setResourceModel('modulename/filename');
  return $this->_getResource()->functionname();

希望能有帮助

在magento核心模块(如catalog)中,我还没有看到新闻稿$this->\u getResource。。这就是为什么有人问我。这个方法是在
app/code/core/Mage/core/Model/Abstract.php
中定义的。我的回答是否对你有帮助?
  $this->_setResourceModel('modulename/filename');
  return $this->_getResource()->functionname();