我注意到我可以在其范围之外访问变量$order
的值。
public function dryRunAction()
{
$allCustomersBefore = Mage::getModel('customer/customer')->getCollection()
->addAttributeToSelect('*')
->addFieldToFilter('customer_activated', '1')
->addFieldToFilter('group_id', array('6'));
foreach($allCustomersBefore as $customer) {
$orders = Mage::getResourceModel('sales/order_collection')
->addAttributeToSelect('*')
->addFieldToFilter('customer_id', $customer->getId());
$atLeastOnePendingOrder = false;
foreach($orders as $order) {
if ($order->getStatus() == 'pending') {
$atLeastOnePendingOrder = true;
break;
}
}
if ($atLeastOnePendingOrder) {
echo $customer->getName() . " already made an order (Order Status: ". $order->getStatus() . ").<br>";
}
}
}
变量$ output没有在foreach之前定义。
输出为Mr Sample Customer already made an order (Order Status: pending).
答案 0 :(得分:2)