2012-12-19 41 views
2

我爲magento安裝了一個腳本。它允許添加對訂單的評論。所以它對訂單網格顯示一個評論。如何在Magento查詢中添加「order by」

問題是它沒有按「created_at」列對評論排序。我不知道如何設置訂單。

這是代碼的一部分:

protected function _initSelect() 
{ 
    parent::_initSelect(); 

    // Join order comment 
    $this->getSelect()->joinLeft(
     array('ordercomment_table' => $this->getTable('sales/order_status_history')), 
     'main_table.entity_id = ordercomment_table.parent_id AND ordercomment_table.comment IS NOT NULL', 
     array(
      'ordercomment' => 'ordercomment_table.comment', 
     ) 
    )->group('main_table.entity_id'); 

    return $this; 
} 

感謝您的幫助。

+0

期望的結果是什麼,例如, 「對於每個訂單得到最新的評論?」 – benmarks

+0

是的,正是我需要的! – user1916533

回答

5
protected function _initSelect() 
{ 
    parent::_initSelect(); 

    // Join order comment 
    $this->getSelect()->joinLeft(
     array('ordercomment_table' => $this->getTable('sales/order_status_history')), 
     'main_table.entity_id = ordercomment_table.parent_id AND ordercomment_table.comment IS NOT NULL', 
     array(
      'ordercomment' => 'ordercomment_table.comment', 
     ) 
    )->group('main_table.entity_id'); 

    //Add ORDER BY 
    $this->getSelect()->order(array('ordercomment_table.created_at DESC')); 

    return $this; 
} 
+0

它不工作。可能的問題是,它首先提取並分組,然後排序。你可以幫我嗎? – user1916533

+0

爲我工作,謝謝 – Haris

0

在上述現有函數中替換此行。添加一個ORDER BY。

$this->getSelect()->order('ordercomment_table.created_at', 'DESC'); 
+0

沒有評論顯示 – user1916533