我如何对这样的数组进行排序:
这样可行:
ArrayHelper::multisort($dataProvider, ['id'], [SORT_DESC]);
foreach ($dataProvider as $teilnahme) {
?>
<tr><td><?= Html::a("<time>". Yii::$app->formatter->asDate($teilnahme->durchfuehrung0->datum)."</time>", ['/durchfuehrung/detail/'.$teilnahme->durchfuehrung0->id], ['class'=>'']) ?>
</td>
<td><?= Html::a($teilnahme->durchfuehrung0->veranstalter0->name, ['/veranstalter/profil/'.$teilnahme->durchfuehrung0->veranstalter0->id], ['class'=>'']) ?>
</td>
<td>
<?= $teilnahme->durchfuehrung0->veranstalter0->region0->name; ?>
</td>
<td>
<?= $teilnahme->punkte; ?>
</td>
</tr>
<?php
但我怎么能排序:
$teilnahme->durchfuehrung0->datum
我尝试了什么:
ArrayHelper::multisort($dataProvider,function($item){
return isset($item->durchfuehrung0['datum']) ? ['id', 'datum'] : 'datum';
},SORT_DESC);
但这里什么也没发生......
答案 0 :(得分:2)
我试图找到一个解决方案,用ArrayHelper::map
对dropDownList进行排序。
这是我为我的项目获得的解决方案:
dropDownList(ArrayHelper::map(tab_sectors::find()->asArray()->select('Id, Description')->orderBy('Description')->all(), 'Id','Description')