$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,
])
?>