3

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

3

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).")"));
1

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');
  • 2
    Thanks for answering. Actually your code sort the collection based on entity_id. I need to sort the collection based on the product Ids sequence which I have passed to collection. – Muhammad Anas May 6 at 10:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.