【问题标题】:Yii2 and sort in ArrayDataProviderYii2 并在 ArrayDataProvider 中排序
【发布时间】:2016-05-07 06:15:19
【问题描述】:

我正在使用 ArrayDataProvider,我想知道如何在视图中创建排序链接,就像 $sort->link('date')yii/data/Sort

【问题讨论】:

    标签: php yii yii2


    【解决方案1】:

    关注this (yii\data\sort)this (yii\data\ArrayDataProvider) 文档

    你可以做这样的排序:

    $sort = new Sort([
        'attributes' => [
            'age',
            'name' => [
                'asc' => ['first_name' => SORT_ASC, 'last_name' => SORT_ASC],
                'desc' => ['first_name' => SORT_DESC, 'last_name' => SORT_DESC],
                'default' => SORT_DESC,
                'label' => 'Name',
            ],
            // or any other attribute
        ],
    ]);
    

    之后,您可以将其放入您的数组数据提供程序中

    $query = new Query;
    $provider = new ArrayDataProvider([
        'allModels' => $query->from('post')->all(),
        'sort' => $sort, // HERE is your $sort
        'pagination' => [
            'pageSize' => 10,
        ],
    ]);
    // get the posts in the current page
    $posts = $provider->getModels();
    

    最后在你看来:

    // any attribute you defined in your sort defination
    echo $sort->link('name') . ' | ' . $sort->link('age');
    

    【讨论】:

      猜你喜欢
      • 2016-04-05
      • 1970-01-01
      • 1970-01-01
      • 2018-08-10
      • 2015-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多