(технически это не правильный ответ, просто еще один способ сделать это)
Я использовал 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()