最新消息: 新版网站上线了!!!

SqlDataProvider在yii2中的使用方法

第一种方法
  1. $totalCount = Yii::$app->db->createCommand('SELECT COUNT(*) FROM posts WHERE publish=:publish', [':publish' => 1]) 
  2.             ->queryScalar(); 
  3.  
  4. $dataProvider = new SqlDataProvider([ 
  5.     'sql' => 'SELECT * FROM posts WHERE publish=:publish'
  6.     'params' => [':publish' => 1], 
  7.     'totalCount' => $totalCount
  8.     //'sort' =>false, to remove the table header sorting 
  9.     'sort' => [ 
  10.         'attributes' => [ 
  11.             'title' => [ 
  12.                 'asc' => ['title' => SORT_ASC], 
  13.                 'desc' => ['title' => SORT_DESC], 
  14.                 'default' => SORT_DESC, 
  15.                 'label' => 'Post Title'
  16.             ], 
  17.             'author' => [ 
  18.                 'asc' => ['author' => SORT_ASC], 
  19.                 'desc' => ['author' => SORT_DESC], 
  20.                 'default' => SORT_DESC, 
  21.                 'label' => 'Name'
  22.             ], 
  23.             'created_on' 
  24.         ], 
  25.     ], 
  26.     'pagination' => [ 
  27.         'pageSize' => 10, 
  28.     ], 
  29. ]); 
  30.  
  31. return $dataProvider

第二种
 

  1. <?= GridView::widget([ 
  2.        'dataProvider' => $dataProvider
  3.        'columns' => [ 
  4.            ['class' => 'yii\grid\SerialColumn'], 
  5.            [ 
  6.                'label' =>"Name"
  7.                'attribute' => 'tbl_column_name'
  8.                'value'=>function($data){ 
  9.                    return $data["tbl_column_name"]; 
  10.                } 
  11.            ], 
  12.            'title'
  13.            'author'
  14.            'created_on'
  15.            ['class' => 'yii\grid\ActionColumn'], 
  16.        ], 
  17.    ]); ?> 

 

转载请注明:谷谷点程序 » SqlDataProvider在yii2中的使用方法