我知道,我们可以随机排序以下配置的DataList
:的ArrayList的()SilverStripe随机顺序
$example = Example::get()->sort('RAND()');
但是当我尝试随机排序的ArrayList
这是行不通的。我可以通过ID DESC
排序ArrayList
,但不能与RAND()
排序。
有没有办法让ArrayList
随机排序它的项目?
例子:
public function AllTheKits() {
$kits = Versioned::get_by_stage('KitsPage', 'Live');
$kitsArrayList = ArrayList::create();
foreach ($kits as $kit) {
if ($kit->MemberID == Member::currentUserID()) {
$kitsArrayList->push($kit);
}
}
return $kitsArrayList;
}
在一个页面:
public function getKitsRandom() {
return $this->AllTheKits()->sort('RAND()');
}
这并不在模板与<% loop KitsRandom %>
这不像我预期的那样,但它足够高效,不会产生重复的代码。我会尽快尝试。谢谢! – StefGuev
我在早上测试了这个...完美的工作。谢谢 – StefGuev