当前位置:首页 > 编程教程 > php技术文章 > Yii2中SqlDataProvider用法示例

实例分享Yii2中SqlDataProvider用法

  • 发布时间:
  • 作者:码农之家
  • 点击:75

这篇文章主要知识点是关于Yii2、SqlDataProvider、的内容,如果大家想对相关知识点有系统深入的学习,可以参阅以下电子书

PHP从入门到精通
  • 类型:PHP入门大小:38.6 MB格式:PDF作者:明日科技
立即下载

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程序设计有所帮助。

以上就是本次给大家分享的关于java的全部知识点内容总结,大家还可以在下方相关文章里找到相关文章进一步学习,感谢大家的阅读和支持。

PHP 相关电子书
学习笔记
网友NO.198068

Yii2基于Ajax自动获取表单数据的方法

本文实例讲述了Yii2基于Ajax自动获取表单数据的方法。分享给大家供大家参考,具体如下: 这里有两张表,表结构如下,locations表存放的省份和邮编等信息,两张表的model和curd均使用gii生成 yii2advanced.customers表 customer_id:int(11) customer_name:varchar(100) zip_code:varchar(20) city:varchar(100) province:varchar(100) yii2advanced.locations表 location_id:int(11) zip_code:varchar(20) city:varchar(100) province:varchar(100) 这里要通过在customer选择zip_code之后自动在表单中填充这个邮编对应的城市和省份信息 实现方法 首先需要在Locations控制器里面添加一个方法,他可以通过get过来的zip_id获取对应的location信息 public function actionGetCityProvince($zipId){ $location = Locations::findOne($zipId); echo Json::encode($location);} 然后通过JS监听select,当select改变时,使用jQuery的get方法获取对应的信息,并使用jQuery的attr方法设置city和pro……

网友NO.457413

Yii2 hasOne(), hasMany() 实现三表关联的方法(两种)

背景: 现有 group (组)和 user (用户) 两种实例。 一个 group 中可以拥有多个 user,一个 user 也可以属于有多个 group (多对多关系) GroupUserRelation 表用于绑定组合组员的关系(使用id绑定) 字段有 id, group_id, user_id 现有User(用户)表, 需要获取 其所属的所有用户组的信息,需要使用hasMany()进行多表关联。 User.id = GroupUserRelation.user_idGroupUserRelation.group_id = Group.id 方法1 public function getGroup(){ return $this-hasMany(Group::className(), ['id' = 'group_id']) -viaTable(GroupUserRelation::tableName(), ['user_id' = 'id']);} 方法2 public function getGroup(){ return $this-hasMany(Group::className(), ['id' = 'group_id']) -viaTable('groupUserRelation');}public function getGroupUserRelation(){ return $this-hasMany(GroupUserRelation::tableName(), ['user_id' = 'id']);} 以上所述是小编给大家介绍的Yii2 hasOne(), hasMany() 实现三表关联的方法(两种),希望对大家有所……

网友NO.665079

Yii2.0中使用js异步删除示例

整理文档,搜刮出一个Yii2.0中使用js异步删除示例,稍微整理精简一下做下分享。 控制器: public function actionWeixinnotificationdel(){ $model = WxDistributorNotification::findOne($_GET['id']); if ($model) { if($model-delete()) { echo 1; Yii::$app-end(); } } echo 0; Yii::$app-end();} 视图HTML 复制代码 代码如下: a href="javascript:void(0);" rel="external nofollow" url="?=Url::to(['weixinnotificationdel', 'id'=$model-id]);?" class="btn btn-success btn-sm deleteLink"解绑/a 视图JS script language="JavaScript"$(function () { $('.deleteLink').click(function () { var tThis =$(this); if (confirm("确定要解绑此微信号吗?")){ var url = tThis.attr('url'); $.get(url,function (data) { if (data == 1){ $(tThis).parent().parent().remove() alert('解绑成功') }else{ alert('解绑失败') } }) } return false; })})/script 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持码农之家。 ……

<
1
>

Copyright 2018-2020 www.xz577.com 码农之家

版权投诉 / 书籍推广 / 赞助:520161757@qq.com