这篇文章主要知识点是关于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的全部知识点内容总结,大家还可以在下方相关文章里找到相关文章进一步学习,感谢大家的阅读和支持。
Copyright 2018-2020 www.xz577.com 码农之家
版权投诉 / 书籍推广 / 赞助:520161757@qq.com
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……
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() 实现三表关联的方法(两种),希望对大家有所……
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 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持码农之家。 ……