秀小川
- 秀小川 2017-12-14 已签到连续签到5天,获得了20个金钱
- 秀小川 2017-12-13 已签到连续签到4天,获得了20个金钱
- 秀小川 2017-12-12 已签到连续签到3天,获得了15个金钱
- 秀小川 2017-12-11 已签到连续签到2天,获得了10个金钱
- 秀小川 2017-12-10 已签到连续签到1天,获得了5个金钱
$sort = $dataProvider->getSort(); $sort->attributes['address.address'] = [ 'asc'=>['t_address.address' => SORT_ASC], 'desc'=>['t_address.address' => SORT_DESC], ]; $dataProvider->setSort($sort);
按照这种方法修改!
给个例子如下:
$dataProvider = new ActiveDataProvider([ 'query' => Report::find()->joinWith(['member']), ]); $dataProvider->setSort([ 'attributes' => [ 'title' => [ 'asc' => ['title' => SORT_ASC], 'desc' => ['title' => SORT_DESC], //'label' => '反馈会员', ], 'create_time' => [ 'asc' => ['create_time' => SORT_ASC], 'desc' => ['create_time' => SORT_DESC], ], 'status' => [ 'asc' => ['status' => SORT_ASC], 'desc' => ['status' => SORT_DESC], ], 'backMember' => [ 'asc' => ['ld_member.username' => SORT_ASC], 'desc' => ['ld_member.username' => SORT_DESC], ], ], ]);
这个backMember是member表的,这里是在Report模型里添加个属性就可以多关联到的字段进行排序了。希望这个例子能够帮助到你
@菜鸟鼻涕 这种可以达到效果, 但是像默认的title这些生成以后本来就是默认带排序的, 用这种方法,就必须把所有字段重写一遍。
我是按照下面的方法修改了下$sort = $dataProvider->getSort(); $sort->attributes['address.address'] = [ 'asc'=>['t_address.address' => SORT_ASC], 'desc'=>['t_address.address' => SORT_DESC], ]; $dataProvider->setSort($sort);
- 秀小川 2017-12-08 已签到连续签到5天,获得了20个金钱