2012-06-17 40 views
2

我开始获得magento的一点经验,但系列产品会引发一些不一致之处。magento - 与系列产品的差异

  1. 某些集合使用addAttributeToSelect和addAttributeToFilter,而其他集合使用addFilter和addSelect。

这是为什么,以及如何直接告诉哪个集合使用哪个?

  1. 你到底如何加入收藏。我已经尝试过每一个从未有效的例子。具体来说,我想加入航运,发票和订单的集合

回答

0
  1. 据我知道在磁无addFilter和addSelect功能。你可能会提到的是addFieldToFilteraddAttributeToFilter之间的差异。

    这两者之间的区别在于,Magento中存在一个称为EAV的特定数据类型。你可以在其他地方阅读更多。 Magneto的产品及其属性,客户和销售为EAVEAV下的快速背景是数据保存在不同的表中,这就是为什么过滤集合的函数完全不同。

  2. 这给我们带来了第二个问题。由于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()); 
    

请让我知道如果我能更清楚。