2

我开始对 magento 有了一点经验,但收藏品出现了一些不一致的地方。

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

为什么会这样?你如何直接分辨出哪个集合使用哪个?

  1. 你到底是怎么加入收藏的。我已经尝试了每一个从不工作的例子。具体来说,我想加入运输、发票和订单收集
4

1 回答 1

0
  1. 据我所知,Magneto 中没有 addFilter 和 addSelect 函数。您可能指的是addFieldToFilter和之间的差异addAttributeToFilter

    这两者之间的区别在于 Magento 中有一种特定的数据类型,称为EAV. 您可以在其他任何地方阅读有关它的更多信息。产品及其属性、客户和销售都EAV在 Magneto 中。下面的快速背景EAV是数据保存在不同的表中,这就是过滤集合的函数完全不同的原因。

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

如果我能说得更清楚,请告诉我。

于 2012-06-17T15:40:44.443 回答