php教程

超轻量级php框架startmvc

Yii2中SqlDataProvider用法示例

更新时间:2020-03-11 18:59:18 作者:startmvc
本文实例讲述了Yii2中SqlDataProvider用法。分享给大家供大家参考,具体如下:第一种方法:$t

本文实例讲述了Yii2中SqlDataProvider用法。分享给大家供大家参考,具体如下:

第一种方法:


$totalCount = Yii::$app->db->createCommand('SELECT COUNT(*) FROM posts WHERE publish=:publish', [':publish' => 1])
 ->queryScalar();
$dataProvider = new SqlDataProvider([
 'sql' => 'SELECT * FROM posts WHERE publish=:publish',
 'params' => [':publish' => 1],
 'totalCount' => $totalCount,
 //'sort' =>false, to remove the table header sorting
 'sort' => [
 'attributes' => [
 'title' => [
 'asc' => ['title' => SORT_ASC],
 'desc' => ['title' => SORT_DESC],
 'default' => SORT_DESC,
 'label' => 'Post Title',
 ],
 'author' => [
 'asc' => ['author' => SORT_ASC],
 'desc' => ['author' => SORT_DESC],
 'default' => SORT_DESC,
 'label' => 'Name',
 ],
 'created_on'
 ],
 ],
 'pagination' => [
 'pageSize' => 10,
 ],
]);
return $dataProvider;

第二种:


<?= GridView::widget([
 'dataProvider' => $dataProvider,
 'columns' => [
 ['class' => 'yii\grid\SerialColumn'],
 [
 'label' =>"Name",
 'attribute' => 'tbl_column_name',
 'value'=>function($data){
 return $data["tbl_column_name"];
 }
 ],
 'title',
 'author',
 'created_on',
 ['class' => 'yii\grid\ActionColumn'],
 ],
]); ?>

Yii2 SqlDataProvider