YII2中ActiveDataProvider与GridView的配合使用&DetailView

 $provider new ActiveDataProvider([
            //为ActiveDataProvider对象提供一个查询对象
            'query' => $query,
            //设置分页参数
            'pagination' => [
                //分页大小
                'pageSize' => 3,
                //设置地址栏当前页数参数名
                'pageParam' => 'p',
                //设置地址栏分页大小参数名
                'pageSizeParam' => 'pageSize',
            ],
            //设置排序
            'sort' => [
                //默认排序方式
                'defaultOrder' => [
                    'id' => SORT_DESC,
                ],
                //参与排序的字段
                'attributes' => [
                    'id''name''sex''age'
                ],
            ],
        ]);
 
$getInfo =  \common\models\GachaCombineGoods::find()->count();总数据
$dataProvider->setTotalCount($getInfo); 设置分页显示
DetailView:主要展示详情信息,只展示一条数据
 (2)ActiveDataProvider:也可以在rules中定义需要搜索的字段
 
可以是二维数组:
$resultData = [
    ["id"=>1,"name"=>"Cyrus","email"=>"risus@consequatdolorvitae.org"],
    ["id"=>2,"name"=>"Justin","email"=>"ac.facilisis.facilisis@at.ca"],
    ["id"=>3,"name"=>"Mason","email"=>"in.cursus.et@arcuacorci.ca"],
    ["id"=>4,"name"=>"Fulton","email"=>"a@faucibusorciluctus.edu"]
];
//不需要在class中添加元素
$dataProvider = new ArrayDataProvider([
    'allModels' => $resultData,
    'pagination' => false, // 可选 不分页
    'sort' => [
        'attributes' => ['id', 'name', 'email'],
    ],
]); 

GridView 中显示:
[
'attribute'=>'out_trade_no',
'label'=>'表订单号'

],

[
'attribute' => 'total_fee',
'label'=>'价值',
'value' => function ($model) {
return $model['total_fee'] / 100;
}
],
[
'attribute'=>'created_at',
'label'=>'创建时间',
'value'=>function($model){
return date("Y-m-d H:i:s",$model['created_at']);
}
或者:
'attribute' => 'created_at',
'format' => ['date', 'Y-m-d H:i:s'],

],
后端分页可以:
$dataProvider = new ArrayDataProvider([
'allModels' => $res['stocks'],
'pagination' => false,
]);
$pages = new Pagination(['totalCount' => $res['total']]);
前端分页可以:
 
<?=
LinkPager::widget([
'pagination' => $pages,
])
?>
 
posted @ 2019-09-19 10:31  星云惊蛰  阅读(281)  评论(0)    收藏  举报