Есть ли способ в Magento найти все заказы, содержащие данный продукт? Было бы даже лучше, если бы это можно было сделать с панели управления.
Отчеты -> Продукты -> Продукты, заказанные, дают мне день продажи продукта и количество заказов, но мне нужно знать, какие конкретные заказы включают продукт.
Спасибо!
Вы можете получить простой запрос mysql: –
select order_id from sales_flat_order_item where product_id=//given product id
ИЛИ
Вы можете настроить отчеты в соответствии с вашими потребностями.
Я ответил на этот вопрос в другом вопросе; Получите список заказов в расширении magento, которые имеют определенный продукт
Для быстрой справки:
$productId = {PRODUCT_ID}; $orders = array(); $collection = Mage::getResourceModel('sales/order_item_collection') ->addAttributeToFilter('product_id', array('eq' => $productId)) ->load(); foreach($collection as $orderItem) { $orders[$orderItem->getOrder()->getIncrementId()] = $orderItem->getOrder(); }
Если вы хотите получить increment_id (инкрементный номер заказа) вместо order_id, вы можете просто использовать это заявление:
SELECT o.increment_id FROM sales_flat_order_item oi INNER JOIN sales_flat_order o ON o.entity_id = oi.order_id WHERE product_id=XXX ORDER BY o.increment_id DESC;