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

列出以下主要的代码,希望会对你有帮助
视图:
<?php
use 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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值