私たちは、ランダムに以下とDataList
を並べ替えることができることを知っている:SilverStripeランダムな順序は
$example = Example::get()->sort('RAND()');
をしかし、私はランダムにArrayList
を並べ替えるしようとすると、それは動作しません。 ArrayList
をID DESC
でソートできますが、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