magento объединяет заказ и счет - PullRequest
1 голос
/ 08 декабря 2011

В основном я хочу связать таблицу sales / order и sales / order_invoice, чтобы получить поле order_source из продаж / заказа при циклическом просмотре счетов;

Это мое отношение:

$collection = Mage::getModel('sales/order_invoice')->getCollection();
$collection = $collection->addAttributeToFilter('order_id', array('from' =>$from));
$collection->joinAttribute('order_source', 'order/order_source', 'order_id', null, 'left');

foreach($collection as $invoice){  

$orderSource = $invoice->getOrderSource();

//do other stuff

}

Iя новичок в magento

1 Ответ

3 голосов
/ 10 декабря 2011

(технически это не правильный ответ, просто еще один способ сделать это)

Я использовал join вместо того, что я использовал ниже:

$collection->join(array('order' => 'order'), 'order.entity_id=order_id', array('order_source'=>'order_source'), null , 'left');

$collection->addAttributeToSort('order_source', 'DESC');

foreach($collection as $invoice){  

$orderSource = $invoice->getOrderSource();

//do other stuff

}

надеюсь, это поможет кому-то

пс, чтобы получить все атрибуты из порядка, вы можете использовать следующее: (но не рекомендуется из-за оптимизации *):

$collection->join(array('order' => 'order'), 'order.entity_id=order_id', array('order'=>'*'), null , 'left');

и для получения определенных полей используйте:

$collection->join(array('order' => 'order'), 'order.entity_id=order_id', array('some_feild'=>'some_feild', 'some_other_feild' => 'some_alies_for_other_feild'), null , 'left');

, а затем используйте $collection->getSomeAliesForOtherFeild() и $collection->getSomeFeild()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...