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

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

(0)

相关推荐

  • 使用Yii2实现主从数据库设置

    前言 MySQL主从同步是目前使用比较广泛的数据库架构,技术比较成熟,配置也不复杂,特别是对于负载比较大的网站,主从同步能够有效缓解数据库读写的压力.以前在使用yii1的时候,主从数据库的支持没有那么方便,只能写上多个DB的components,然后在AR的getDB中返回相应的db.这样也可以用来对付主从数据库 实现方法 Yii2则已经解决这个问题,直接在代码中进行处理即可: PHP代码 'db' =>[ 'class' => 'yii\db\Connection', // 配置主服务器 '

  • Yii调试查看执行SQL语句的方法

    本文实例讲述了Yii调试查看执行SQL语句的方法.分享给大家供大家参考,具体如下: 开户debug 修改配置文件 :protected/config/main.php, 'log' => array( 'class' => 'CLogRouter', 'routes' => array( array( 'class' => 'CFileLogRoute', 'levels' => 'trace, info, error, warning', ), // uncomment t

  • Yii2——使用数据库操作汇总(增删查改、事务)

    本文介绍了 Yii2--使用数据库操作汇总(增删查改.事务),具体如下: 对象操作 查询 //1.简单查询 $admin=Admin::model()->findAll($condition,$params); $admin=Admin::model()->findAll("username=:name",array(":name"=>$username)); $infoArr= NewsList::model()->findAll(&quo

  • Yii2实现跨mysql数据库关联查询排序功能代码

    背景:在一个mysql服务器上(注意:两个数据库必须在同一个mysql服务器上)有两个数据库: memory (存储常规数据表) 中有一个 user 表(记录用户信息) memory_stat (存储统计数据表) 中有一个 user_stat (记录用户统计数据) 现在在 user 表生成的 GridView 列表中展示 user_stat 中的统计数据 只需要在User的model类中添加关联 public function getStat() { return $this->hasOne(U

  • Yii2框架数据库简单的增删改查语法小结

    User::find()->all(); //返回所有用户数据: User::findOne($id); //返回 主键 id=1 的一条数据: User::find()->where(['name' => 'ttt'])->one(); //返回 ['name' => 'ttt'] 的一条数据: User::find()->where(['name' => 'ttt'])->all(); //返回 ['name' => 'ttt'] 的所有数据: U

  • Yii2.0高级框架数据库增删改查的一些操作

    yii2.0框架是PHP开发的一个比较高效率的框架,集合了作者的大量心血,下面通过用户为例给大家详解yii2使用中的一些基本的增删改查操作. User::find()->all();    //返回所有用户数据: User::findOne($id);   //返回 主键 id=1  的一条数据: User::find()->where(['name' => 'ttt'])->one();   //返回 ['name' => 'ttt'] 的一条数据: User::find(

  • yii2.0数据库迁移教程【多个数据库同时同步数据】

    本文讲述了yii2.0数据库迁移的方法.分享给大家供大家参考,具体如下: 创建迁移 使用如下命令来创建一个新的迁移: yii migrate/create <name> 必填参数 name 的作用是对新的迁移做一个简要的描述.例如,如果这个迁移是用来往多个数据库同一张表  ( 假设每个数据库都有news表 )   添加字段的,那么你可以使用addColumn_news (该名称自定义)这个名称并运行如下命令: yii migrate/create addColumn_news 注意:因为 na

  • Yii2数据库操作常用方法小结

    本文实例讲述了Yii2数据库操作常用方法.分享给大家供大家参考,具体如下: 查询: // find the customers whose primary key value is 10 $customers = Customer::findAll(10); $customer = Customer::findOne(10); // the above code is equivalent to: $customers = Customer::find()->where(['id' => 10

  • Yii实现MySQL多数据库和读写分离实例分析

    本文实例分析了Yii实现MySQL多数据库和读写分离的方法.分享给大家供大家参考.具体分析如下: Yii Framework是一个基于组件.用于开发大型 Web 应用的高性能 PHP 框架.Yii提供了今日Web 2.0应用开发所需要的几乎一切功能,也是最强大的框架之一,下文我们来介绍Yii实现MySQL多库和读写分离的方法 前段时间为SNS产品做了架构设计,在程序框架方面做了不少相关的压力测试,最终选定了YiiFramework,至于为什么没选用公司内部的 PHP框架,其实理由很充分,公司的框

  • yii2 数据库读写分离配置示例

    开始使用数据库首先需要配置数据库连接组件,通过添加 db 组件到应用配置实现("基础的" Web 应用是 config/web.PHP),DSN( Data Source Name )是数据源名称,用于指定数据库信息.如下所示: return [ // ... 'components' => [ // ... 'db' => [ 'class' => 'yii\db\Connection', 'dsn' => 'mysql:host=localhost;dbna

  • YII2数据库查询实践

    初探yii2框架,对增删改查,关联查询等数据库基本操作的简单实践. 数据库配置. /config/db.php 进行数据库配置 实践过程中有个test库->test表->两条记录如下 mysql> select * from test; +----+--------+ | id | name | +----+--------+ | 1 | zhuai | | 2 | heng | +----+--------+ 18 rows in set (0.00 sec) sql 查询方式 yii

  • Yii2框架实现数据库常用操作总结

    通用: use yii\db\Query; $query = new Query(); 查询: Query: $rows = (new \yii\db\Query()) ->select(['code', 'name', 'population']) ->from('country') ->limit(10) ->all(); Select: $data = $query->select(['code', 'name'])->from('country')->al

  • Yii调试SQL的常用方法

    Yii调试SQL主要有以下方法: 一.系统自带调试: 首先index.php开启调试模式: // remove the following lines when in production mode defined('YII_DEBUG') or define('YII_DEBUG',true); // specify how many levels of call stack should be shown in each log message defined('YII_TRACE_LEVE

随机推荐