gpt4 book ai didi

magento - 从 Magento 自定义模块中的 2 个表访问数据

转载 作者:行者123 更新时间:2023-12-02 21:29:41 25 4
gpt4 key购买 nike

我需要一些帮助。我在 magento 中创建了一个需要与多个表交互的自定义​​模块。

我使用以下内容来获取表名称

 <entities>
<support1>
<table>table1</table>
</support1>
<support2>
<table>table2</table>
</support2>
<support3>
<table>table3</table>
</support3>
</entities>

然后我将以下内容添加到我的模型中

  public function _construct()
{
parent::_construct();
$this->_init('support/support1');
$this->_init('support/support2');
$this->_init('support/support3');
}

在 mysql4 文件夹中我有...

 public function _construct()
{
$this->_init('support/support1', 'ticket_id');
$this->_init('support/support2', 'dept_id');
$this->_init('support/support3', 'priority_id');
}

在 Collection.php 中我有...

public function _construct()
{
parent::_construct();
$this->_init('support/support1');
$this->_init('support/support2');
$this->_init('support/support3');
}

所以使用

$collection = Mage::getModel('support/support')->getCollection();

我如何定义对 support1 或 support2 等的访问。我已尝试使用...

$collection = Mage::getModel('support/support1')->getCollection();

$collection = Mage::getModel('support/support')->getCollection('support1');

但是都失败了,这应该如何工作?

提前致谢。

最佳答案

Magento 没有“一个模块,一个数据类”的结构。相反,单个模块可能包含许多不同的模型。每个模型类访问一个表。

因此,您的代码生成工具为您提供了三个类似的类

Package_Support_Model_Support                             //model
Package_Support_Model_Resource_Mysql4_Support //model resource
Package_Support_Model_Resource_Mysql4_Support_Collection //collection

这三个类构成了 Magento 中的单个模型。

因此,如果您需要支持1,您将需要另外三个类(class)

Package_Support_Model_Support1                             //model
Package_Support_Model_Resource_Mysql4_Support1 //model resource
Package_Support_Model_Resource_Mysql4_Support_Collection1 //collection

这将启用

Mage::getModel('support/support1');

上面的代码示例从名称为support1支持模块获取一个模型

对于单个 StackOverflow 答案来说,具体细节太多了,但如果您需要更多帮助,这是 an older article of mine这涵盖了在没有代码创建工具的情况下从头开始创建模型。

关于magento - 从 Magento 自定义模块中的 2 个表访问数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15582024/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com