用ArrayDataProvider排序

时间:2018-11-19 16:29:46

标签: yii2 dataprovider

我正在使用ArrayDataProvider并按降序获得按“位置”排序的数据:

        $dataProvider = new ArrayDataProvider([
        'key' => 'id',
        'allModels' => $rows,
        'sort' => [
            'attributes' => ['lastname', 'firstname', 'position'],
            'defaultOrder' => [
                'position' => SORT_DESC,
            ]
        ],
    ]);

在“位置”中,我只有1、2、3、4、5。并且我需要按以下顺序显示信息:4、3、2、1、5。使用ActiveDataProvider时,我会这样:

$dataProvider = new ActiveDataProvider([
    'query' => Pt::find()->where(['team_id' => $model->id])
        ->OrderBy(new \yii\db\Expression('FIELD (`position`, 4, 3, 2, 1, 5)')),

]);

如何使用ArrayDataProvider做同样的事情?

0 个答案:

没有答案