2
我开始获得magento的一点经验,但系列产品会引发一些不一致之处。magento - 与系列产品的差异
- 某些集合使用addAttributeToSelect和addAttributeToFilter,而其他集合使用addFilter和addSelect。
这是为什么,以及如何直接告诉哪个集合使用哪个?
- 你到底如何加入收藏。我已经尝试过每一个从未有效的例子。具体来说,我想加入航运,发票和订单的集合
我开始获得magento的一点经验,但系列产品会引发一些不一致之处。magento - 与系列产品的差异
这是为什么,以及如何直接告诉哪个集合使用哪个?
据我知道在磁无addFilter和addSelect功能。你可能会提到的是addFieldToFilter
和addAttributeToFilter
之间的差异。
这两者之间的区别在于,Magento中存在一个称为EAV
的特定数据类型。你可以在其他地方阅读更多。 Magneto的产品及其属性,客户和销售为EAV
。 EAV
下的快速背景是数据保存在不同的表中,这就是为什么过滤集合的函数完全不同。
这给我们带来了第二个问题。由于Magento中没有产品,客户或订单的单个表,因此无法将普通的SQL join
应用到它。然而,你很可能经常需要它。对于所有其他非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());
请让我知道如果我能更清楚。