2016-10-10 52 views
2

假設你有鑰匙SilverStripe的確切順序獲得通過ID

$key_list = array(3, 6, 2); 

的數組,你想從某一個表中檢索記錄,使用這些鍵爲標識符(WHERE ID = id_from_key_list)

Foo::get()->byIDs($key_list); 

這將返回ID與$key_list(3,6和2)中的ID匹配的行,但不是按照的順序。

檢索這些項目時我們如何保持相同的順序?

回答

2

你可能需要做的是運行ID的foreah循環,推動各Foo對象到一個ArrayList

$aFooList = ArrayList::create(); 
foreach ($key_list as $key_list_id){ 
    $oFoo = Foo::get()->byID($key_list_id); 
    $aFooList->push($oFoo); 
} 
return $aFooList;