Yii2中SqlDataProvider用法示例

西沉的红日,把缕缕落寂的橘红涂满天际。夕阳下,沧桑古老的小道上充满着迷离的格调,显得格外的幽静。天地万物似乎都酣醉在这片凝固着却极短暂的美丽之中,止住了一切声响。

本文实例讲述了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'],
    ],
]); ?>

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

本文Yii2中SqlDataProvider用法示例到此结束。不论你在什么时候结束,重要的是结束之后就不要悔恨。小编再次感谢大家对我们的支持!