제품 ID 배열을 기반으로 제품 컬렉션을 만들고 id 배열을 기반으로 컬렉션을 정렬하려고합니다.
$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,
));
$productIds
배열에 나타나는 것처럼 수집 된 정렬을 원 318, 310, 311
하지만 위의 코드는와 같은 컬렉션 정렬을 반환 310,311, 312
합니다.
아래 주어진 일반 MySQL 쿼리를 사용하지 않고도 가능합니까?
SELECT *
FROM catalog_product_entity
WHERE entity_id IN (318,
310,
311)
ORDER BY FIELD(entity_id, 318, 310, 311);