Я использую magento 1.7, и мне нужно получить все заказы от определенного increment_id, содержащего хотя бы один элемент, соответствующий sku.Коллекция заказа фильтра Magento по продукту sku
Вот что у меня есть:
$orderCollection = Mage::getModel('sales/order')->getCollection()
->addFieldToFilter('status',
array(
'nin' => array(
'new',
'pending',
'pending_payment',
'holded',
'canceled')
))
->addFieldToFilter('increment_id', array('gteq' => $last_order));
Если добавить строку с:
$orderCollection->addFieldToFilter('sku', $findSku);
Я получаю фатальную ошибку PHP, так как «ы» не является полем. Я пробовал addAttributeToFilter(), и он не будет работать.
Я знаю, что мне нужно создать соединение с другой таблицей, но я не знаю, как делаются соединения в Magento, и я не знаю, к какой таблице я должен присоединиться.
Любая помощь будет принята с благодарностью.
но что, если нам нужно работать с заказами? –
Вы можете присоединиться к таблице элементов заказа в таблице заказов и использовать функцию group_concat mysql для согласования всех skus, связанных с 1 порядком. – freento
Правильная сущность - «sales/order_item» не «sales_order/item» – PartialOrder