0

我试图在一段时间内获得所有销量最高的产品。我正在使用以下查询

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

但是 created_at 是多个表中的一个字段。如何正确引用我打算的表中的字段。我还想使用预期表中的字段进行过滤。

4

1 回答 1

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、order 和 e

所以你可以像这样添加订单

$productCollection->getSelect()->order('order_items.created_at' . ' ' . 'DESC');
于 2013-08-07T07:55:56.680 回答