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 $productIds
mảng đó 318, 310, 311
như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);