I need to get the collection using custom product Ids but it should sort the collection based on the sequence product Ids given

Here is what I am doing now, but it is not sorting in sequence

$collection->addAttributeToFilter('entity_id', array('in' => $productIdsarray));

Any help would be appreciated

有帮助吗?

解决方案

You just need to add order along with your addAttributeToFilter

$collection->addAttributeToFilter('entity_id', array('in' => $productIdsarray ));
$collection->getSelect()->order(new \Zend_Db_Expr("FIELD(e.entity_id, ".implode(",",$productIdsarray).")"));

其他提示

You have to add addAttributeToSort() to your collection

addAttributeToSort('entity_id')

Code May be Like

$collection->addAttributeToFilter('entity_id', array('in' => $productIdsarray));
$collection->addAttributeToSort('entity_id');
许可以下: CC-BY-SA归因
scroll top