Tôi đang cố gắng tạo ra một bộ sưu tập sản phẩm dựa trên mảng id sản phẩm và cũng sắp xếp bộ sưu tập dựa trên mảng ids.
$productIds = array(318,310,311);
$collection = Mage::getModel('catalog/product')
->getCollection()
->setOrder('entity_id', 'asc') // This will not do the job
->addAttributeToSelect('*')
->addAttributeToFilter('status', 1)
->addAttributeToFilter('entity_id', array(
'in' => $productIds,
));
Tôi muốn sắp xếp được thu thập khi chúng xuất hiện trong $productIdsmảng đó 318, 310, 311nhưng mã ở trên sẽ trả về sắp xếp bộ sưu tập như thế nào 310,311, 312.
Điều này có thể thực hiện được mà không cần sử dụng truy vấn MySQL đơn giản như được đưa ra dưới đây?
SELECT *
FROM catalog_product_entity
WHERE entity_id IN (318,
310,
311)
ORDER BY FIELD(entity_id, 318, 310, 311);