2013-03-06 97 views

回答

9

使用下面的代碼:

 $ordersByPaymentCheckMo = Mage::getResourceModel('sales/order_payment_collection')    
     ->addFieldToSelect('*') 
     ->addFieldToFilter('method',"checkmo"); 

    foreach($ordersByPaymentCheckMo as $orderByPayment): 
      $order = Mage::getModel('sales/order')->load($orderByPayment->getParentId()); 
     echo '<br/>ORDER # : '.$order->getIncrementId(); 
    endforeach; 

的更新,做到這一點,最好的辦法是加入收藏:

$table_prefix = Mage::getConfig()->getTablePrefix(); 
    $order_table = $table_prefix.'sales_flat_order'; 
    $on_condition = "main_table.parent_id = $order_table.entity_id"; 

    $orderCollection = Mage::getModel('sales/order_payment')->getCollection()->addFieldToFilter('method',"checkmo"); 

    $orderCollection ->getSelect()->join($order_table,$on_condition); 

    foreach($orderCollection as $order): 
    echo '<br/>ORDER # : '.$order->getIncrementId(); 
    endforeach; 
+0

很好的回答,只是一個簡單的問題,爲什麼' - > addFieldToSelect(「* ')'如果你只使用ParentId()? – dagfr 2013-03-06 14:51:25

+0

@dagfr只是急於在任何人之前得到這個蛋糕;-)當然沒有必要*我們可以選擇我們需要的領域。 – Haijerome 2013-03-06 14:58:32

+0

很棒@Haijerome !!!謝謝! – Alex 2013-03-07 12:43:54