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

2019-11-13,,,,,

本文实例为大家分享了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;
 }

效果:

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

《yii2使用gridView实现下拉列表筛选数据.doc》

下载本文的Word格式文档,以方便收藏与打印。