2012-06-17 42 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()); 
    

請讓我知道如果我能更清楚。