Yii2 给ListView用dao方式进行赋值,排序和分页

来源:互联网 发布:java的简单数据类型 编辑:程序博客网 时间:2024/06/06 02:27
列出以下主要的代码,希望会对你有帮助
视图:
<?phpuse yii\widgets\ListView;ListView::begin([    'dataProvider'=>$dataProvider,    'itemView'=>'_item',    'layout'=>'{sorter}{items}{pager}',    'itemOptions'=>['class'=>'productlist_box'],    'pager'=>[        'maxButtonCount'=>10,        'nextPageLabel'=>Yii::t('app','下一页'),        'prevPageLabel'=>Yii::t('app','上一页'),    ],    /*'sorter'=>[你会发现用DAO方式赋值,这里的sorter设置不会生效,请参见下面代码设置    ],*/]);ListView::end();?>
数据源:
$query = (new Query())    ->select('*')    ->from('m_product as p')    ->leftJoin('m_allprod as a','p.proid=a.proid')    ->where($where);$dataProvider = new ActiveDataProvider([    'query' => $query,    'pagination'=>[        'pageSize'=>8,    ],    'sort'=>[        'attributes'=>[            'clickcount'=>[                'label'=>'评论数'            ],            'cdate'=>[                'label'=>'上架时间'            ],            'buycount'=>[                'label'=>'销量'            ],        ],    ]]);
用dao方式赋值后,会发现sort排序不出现
解决办法:在ActiveDataProvider里面设置sort字段把需要的字段列出即可
                                             
0 0
原创粉丝点击