【发布时间】:2017-08-23 12:51:47
【问题描述】:
我知道我们可以使用以下内容对DataList 进行随机排序:
$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 %> 的模板
【问题讨论】:
标签: php arraylist silverstripe