2017-05-23 09:45:21 3366次浏览 3条回答 2 悬赏 10 金钱

我用下面的方法是不起作用的,不知道setSort()方法是不是要这样传递参数

$sort = new Sort([
     'attributes' => [
          'createdAt' => [
              'desc' => ['createdAt' => SORT_DESC]
          ]
     ],
      'defaultOrder' => ['createdAt' => SORT_DESC]
  ]);

  $provider->setSort($sort);

哪位大神知道这个要怎么用嘞

  • 回答于 2017-05-23 10:36 举报

    看文档地址

    2 条回复
    回复于 2017-05-23 10:58 回复

    文档里都是在new 对象的时候去指定order,我这边是得到object数据之后,最后进行排序,按文档new对象的添加sort排序没起作用。。

    回复于 2017-05-27 14:39 回复

    你是要做排序后显示,还是显示后可排序

  • 回答于 2017-09-27 17:01 举报

    $query = User::find()

                ->select(['id','username','real_name','point_total','point_used','point_valid'])
                ->joinWith(['profile'])
                ->where(['status'=>User::STATUS_ACTIVE]);
            $dataProvider = new ActiveDataProvider([
                'query' => $query,
                'totalCount' => 20
            ]);
            $dataProvider->setSort([
                'attributes' => [
                    'point_total' => [
                        'asc' => ['point_total' => SORT_DESC],
                        'desc' => ['point_total' => SORT_ASC],
                        'label' => 'point_total'
                    ]
    

    ],
    'defaultOrder' => ['point_total' => SORT_ASC]

    ]);

  • 回答于 2021-08-05 15:45 举报

    设置合并配置参数一样,比如按id正序排列:
    $sort=['defaultOrder'=>['id' => SORT_ASC]]; $dataProvider->setSort($sort);

    $sort也可以用new Sort();设置参数,这个可以翻看yii文档

您需要登录后才可以回答。登录 | 立即注册
沉淀3021
试用期

沉淀3021

注册时间:2016-10-31
最后登录:2017-06-16
在线时长:0小时53分
  • 粉丝1
  • 金钱45
  • 威望0
  • 积分45

热门问题