2012-11-01 98 views
11

我選擇產品Magento的產品收集與特定ID

$products = Mage::getModel('catalog/product')->getCollection()->addAttributeToFilter('entity_id', array('in' => $productIds)); 

我怎麼能archieve該集合是相同的順序在$ productIds的ID?

感謝

回答

20
$productIds = array(1,3,2); 
    $products = Mage::getModel('catalog/product')->getCollection() 
       ->addAttributeToFilter('entity_id', array('in' => $productIds)); 


    $products->getSelect()->order("find_in_set(entity_id,'".implode(',',$productIds)."')"); 

    foreach($products as $product) 
    { 
     echo $product->getEntityId(); 
     echo $product->getSku(); 
    } 

查看更多@

+0

不錯我的解決辦法是更糟糕:$收藏 - > getSel ect() - > order(「(CASE e.entity_id WHEN $ p1path [1] THEN 1 WHEN $ p2path [1] THEN 2 WHEN $ p3path [1] THEN 3 ELSE 0 END)」); – wutzebaer

+0

@Renon Stewart:你救了我幾天的生命。感謝:D –