5

支払い方法「checkmo」で注文のコレクションを取得するにはどうすればよいですか?addFieldToFilter関数でそれを行うことはできますか?

ありがとう。

4

1 に答える 1

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;
于 2013-03-06T14:34:34.290 に答える