2013-08-07 30 views
0

我試圖獲得所有在一個時間窗口內賣出最多的產品。我正在使用以下查詢參考表歸檔屬於多個表

$productCollection = Mage::getResourceModel('reports/product_collection') 
     ->addOrderedQty() 
     ->addAttributeToSelect('*') 
     ->setStoreId($storeId) 
     ->addStoreFilter($storeId) 
     ->setOrder('ordered_qty', 'desc') 
    ->setOrder('created_at', 'desc'); 

但是,created_at是多個表中的字段。如何正確引用我想要的表中的字段。我也想使用預期表格中的字段進行過濾。

回答

0

查詢將看起來像這樣

SELECT ...... FROM `sales_flat_order_item` AS `order_items` INNER JOIN `sales_flat_order` AS `order` ON `order`.entity_id = order_items.order_id AND `order`.state <> 'canceled' LEFT JOIN `catalog_product_entity` AS `e` ..... 

所以,你有別名

ORDER_ITEMS,順序表,以及e

所以,你可以這樣

$productCollection->getSelect()->order('order_items.created_at' . ' ' . 'DESC'); 
添加順序