SilverStripe以精确的顺​​序获取id

时间:2016-10-10 13:12:23

标签: php sql silverstripe

假设您有一组键

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

并且您希望从某个表中检索记录,使用这些键作为标识符(WHERE ID = id_from_key_list)

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

这将返回ID与$key_list(3,6和2)中的ID匹配的行,但不按该顺序

检索这些项目时,我们如何维护相同的订单?

1 个答案:

答案 0 :(得分:3)

您可能需要做的是运行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;