0

在 Magento 中,我知道您可以执行以下操作来获取集合:

Mage::getResourceModel('module/model_collection');

Mage::getModel('module/model)->getCollection();

这一切都源于您可以为收藏提供自己的自定义名称

例如:Mage::getResourceModel('module/model_blahblahblah');

所以getCollection会自动为你找到。

我的问题是你什么时候真正想使用'blahblahblah'而不是'collection'

4

2 回答 2

1

“正常”资源模型和集合之间的区别是:

  • “正常”资源模型 -> 扩展自Mage_Core_Model_Resource_Db_Abstract(对于平面类型,版本 1.6.0.0 ++)。主要用于连接你的数据库,比如获取数据/保存数据到数据库
  • 集合 -> 扩展自Mage_Core_Model_Resource_Db_Collection_Abstract(对于平面类型)。它主要用于获取数据的“列表”。eg:获取订单列表

所以对于你的问题:你什么时候真正想使用'blahblahblah'而不是'collection'

对此没有确切的答案。不必使用名称collection来获取数据列表。您可以blahblahblah根据需要使用,但当然最好遵守约定(Magento 的方式)。

将其命名为集合将为“普通”人提供与集合相关的图片(集合通常与列表相关,在我们的例子中它是数据/对象/等的列表)。如果他们看到会发生什么:Mage::getResourceModel('module/model_blahblahblah');可能blahblahblah太奇怪而无法被其他人理解(尽管名称不会像 一样极端blahblahblah

于 2012-08-03T16:22:23.573 回答
0

如果你想改变你的集合类: 那么你可以使用
Namespace_Module_Model_Mysql4_Module_Collection
获取集合的方法。那有帮助吗?
Namespace_Module_Model_Mysql4_Module_Blahblahblah
Mage::getResourceModel('module/model_blahblahblah')

于 2012-08-03T10:42:26.280 回答