Catalog/Product/List.php をオーバーライドして、現在の製品コレクションを使用してベストセラー製品を取得しようとしています。
<?php
if($this->getRequest()->getParam('best')==1){
$this->_productCollection->getSelect()
->joinLeft(array('items'=>'sales_flat_order_item'), "items.product_id = e.entity_id", array('count'=>'SUM(qty_ordered)'))
->group('e.entity_id');
$this->_productCollection->getSelect()->having('SUM(items.qty_ordered) > ?',0);
return $this->_productCollection;
}
?>
上記のコードを使用すると、次の SQL エラーが発生します。エラーは、having 句が原因で発生します。上記のコードで havinh 句を使用して、qty_ordered<1 を持つ結果の行を回避するにはどうすればよいですか
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'items.qty_ordered' in 'having clause'