2013-03-06 20 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

+0

@dagfrはい誰かの前でこのケーキを手に入れようと急ぐだけです.-もちろん、私たちが必要とするフィールドを選択する必要はありません。 – Haijerome

+0

すばらしい@Haijerome !!!ありがとうございました! – Alex

関連する問題