5
Jak mogę uzyskać kolekcję zamówień z metodą płatności "checkmo"? Czy mogę to zrobić za pomocą funkcji addFieldToFilter?Magento: Otrzymuj zamówienia według określonej metody płatności
Dzięki.
Jak mogę uzyskać kolekcję zamówień z metodą płatności "checkmo"? Czy mogę to zrobić za pomocą funkcji addFieldToFilter?Magento: Otrzymuj zamówienia według określonej metody płatności
Dzięki.
użyć poniższy kod:
$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;
aktualizacji Najlepszym sposobem, aby to zrobić jest łączenie zbiorów:
$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;
dobra odpowiedź, tylko krótkie pytanie dlaczego '-> addFieldToSelect ('* ') 'jeśli używasz tylko ParentId()? – dagfr
@dagfr tak po prostu spiesz się, aby dostać to ciastko przed kimkolwiek ;-) Oczywiście nie ma potrzeby * możemy wybrać pola, których potrzebujemy. – Haijerome
Świetny @Haijerome !!! Dziękuję Ci! – Alex