本文实例为大家分享了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; }
效果:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。