загрузить несколько продуктов с заданным порядком сортировки массива идентификаторов

magento.stackexchange https://magento.stackexchange.com/questions/103151

  •  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).')'));
Лицензировано под: CC-BY-SA с атрибуция
Не связан с magento.stackexchange
scroll top