загрузить несколько продуктов с заданным порядком сортировки массива идентификаторов
-
29-09-2020 - |
Вопрос
Я загрузил несколько продуктов в magento с помощью ids. Ниже приведен мой запрос.
$productIds = array(1,5,3,10,6);
$products = Mage::getModel('catalog/product')->getCollection()->addAttributeToFilter('entity_id', array('in' => $productIds));
теперь мои продукты загружаются в порядке сортировки идентификаторов продуктов, которые у меня есть в $productIds
.т.е. product with id 1,3,5,6,10
.
но я хочу, чтобы продукты загружались в порядке идентификаторов, присутствующих в $productIds array
.т.е. product with id 1,5,3,10,6
Решение
Я попробовал создать специальную коллекцию, надеюсь, вам подойдет.
$collection->getSelect()->order(new Zend_Db_Expr('FIELD(entity_id, ' . implode(',', $productIds).')'));
Не связан с magento.stackexchange