yii2使用gridView实现下拉列表筛选数据

所属分类: 网络编程 / PHP编程 阅读数: 994
收藏 0 赞 0 分享

本文实例为大家分享了yii2 gridView下拉列表筛选数据的具体代码,供大家参考,具体内容如下

view:

'columns' => [
  ['class' => 'yii\grid\SerialColumn'],
  'id',
  [
    'attribute' => 'category_id',
    'label'=>'类型',
    'value'=>
      function($model){
        return $model->getCategoryName(); //值
      },
      'filter' => $model->getCategoryList(), //筛选的数据
    ],
]

model:

 /**
 * 分类列表
 * @return array
 */
 public function getCategoryList(){
 $result = [];
 $list = Category::find()->where(["status" => Category::STATUS_NORMAL])->asArray()->all();
 if(!empty($list)){
  $result = ArrayHelper::map($list,"id","category_name");
 }
 return $result;
 }

 /**
 * 关联分类表
 * @return \yii\db\ActiveQuery
 */
 public function getCategory(){
 return $this->hasOne(Category::className(),["id" => "category_id"]);
 }

 /**
 * 分类名称
 * @return string
 */
 public function getCategoryName(){
 return empty($this->Category)?"":$this->Category->category_name;
 }

效果:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

更多精彩内容其他人还在看

PHP Ajax实现页面无刷新发表评论

PHP Ajax实现页面无刷新发表评论
收藏 0 赞 0 分享

windows下PHP APACHE MYSQ完整配置

windows下PHP APACHE MYSQ完整配置
收藏 0 赞 0 分享

Ajax PHP分页演示

Ajax PHP分页演示
收藏 0 赞 0 分享

Smarty结合Ajax实现无刷新留言本实例

Smarty结合Ajax实现无刷新留言本实例
收藏 0 赞 0 分享

PHP 和 MySQL 开发的 8 个技巧

PHP 和 MySQL 开发的 8 个技巧
收藏 0 赞 0 分享

一个用php实现的获取URL信息的类

一个用php实现的获取URL信息的类
收藏 0 赞 0 分享

一个PHP操作Access类(PHP+ODBC+Access)

一个PHP操作Access类(PHP+ODBC+Access)
收藏 0 赞 0 分享

php你的验证码安全码?

php你的验证码安全码?
收藏 0 赞 0 分享

PHP无限分类的类

这段时间在写一个部门权限系统,需要用到无限分类技术,找了很多关于分类的代码.逐个收藏起来
收藏 0 赞 0 分享

phpwind中的数据库操作类

phpwind中的数据库操作类
收藏 0 赞 0 分享
查看更多