Yii2中SqlDataProvider用法示例

6年以前  |  阅读数:933 次  |  编程语言:PHP 

本文实例讲述了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相关内容感兴趣的读者可查看本站专题:《Yii框架入门及常用技巧总结》、《php优秀开发框架总结》、《smarty模板入门基础教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

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

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8