Yii 2,Sorting Array,ArrayHelper

时间:2017-05-05 06:31:19

标签: arrays sorting multidimensional-array yii2

我如何对这样的数组进行排序:

这样可行:

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);

但这里什么也没发生......

1 个答案:

答案 0 :(得分:2)

我试图找到一个解决方案,用ArrayHelper::map对dropDownList进行排序。

这是我为我的项目获得的解决方案:

dropDownList(ArrayHelper::map(tab_sectors::find()->asArray()->select('Id, Description')->orderBy('Description')->all(), 'Id','Description')