2017-05-05 58 views
0

我怎麼可以排序像這樣的數組:的Yii 2,排序陣列,ArrayHelper

所以此工程:

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

如何刪除我的愚蠢的問題 –

+0

這是解決方案:非常simpleusort($數據提供程序,函數($ A,$ B) { 返回strcmp($ b-> durchfuehrung0-> datum,$ a-> durchfuehrung0-> datum); }); –

回答

-1

我試圖找到一個解決方案來排序dropDownList與ArrayHelper::map

這是我得到了我的項目的解決方案:

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