我开始对 magento 有了一点经验,但收藏品出现了一些不一致的地方。
- 一些集合使用 addAttributeToSelect 和 addAttributeToFilter,而其他集合使用 addFilter 和 addSelect。
为什么会这样?你如何直接分辨出哪个集合使用哪个?
- 你到底是怎么加入收藏的。我已经尝试了每一个从不工作的例子。具体来说,我想加入运输、发票和订单收集
我开始对 magento 有了一点经验,但收藏品出现了一些不一致的地方。
为什么会这样?你如何直接分辨出哪个集合使用哪个?
据我所知,Magneto 中没有 addFilter 和 addSelect 函数。您可能指的是addFieldToFilter
和之间的差异addAttributeToFilter
。
这两者之间的区别在于 Magento 中有一种特定的数据类型,称为EAV
. 您可以在其他任何地方阅读有关它的更多信息。产品及其属性、客户和销售都EAV
在 Magneto 中。下面的快速背景EAV
是数据保存在不同的表中,这就是过滤集合的函数完全不同的原因。
这给我们带来了你的第二个问题。由于 Magento 中没有产品、客户或订单的单一表,因此您不能join
对其应用普通 SQL。但是,您不太可能经常需要它。对于所有其他非EAV
情况,您可以使用以下语法:
$collection = Mage::getModel('group/model')->getCollection();
$collection->getSelect()->join(array(
'your_alias' => Mage::getSingleton('core/resource')->getTableName('group2/model2')),
'main_table.your_id = your_alias.your_id',
array());
如果我能说得更清楚,请告诉我。