3

我在 gridview 中添加了这个 'sla_status' 字段,一切正常,唯一的问题是我无法为此设置过滤器值。'sla_status' 不在我的表中。

[
            'label' => Yii::t('app','Sla Status'),
            'format' => 'raw',
            'filterType' => GridView::FILTER_SELECT2,
            'filter' => $status,
            'filterWidgetOptions' => [ 
                    'options' => [ 
                            'placeholder' => Yii::t('app','All...' )
                    ],
                    'pluginOptions' => [ 
                            'allowClear' => true 
                    ] 
            ],

            'headerOptions' => ['style' => 'text-align:center;color:#337ab7'],
            'value' => function ($model, $key, $index, $widget)
            {           }   
            ]

$status 是$status = array('0'=>Yii::t('app', 'Inactive'),'1'=>Yii::t('app', 'Active'));

4

3 回答 3

2

添加公共变量 $sla_status 并将 sla_status 添加到搜索模型的规则数组中作为安全变量

public $sla_status;
public function rules()
{
    return [
        [['sla_status'], 'safe'],
    ];
}
于 2020-06-24T20:32:30.053 回答
0

在模型或搜索模型的规则方法中将字段“sla_status”添加到“安全”,例如

[['sla_status'], 'safe'],

于 2017-06-06T07:53:34.183 回答
0

在搜索模型中,您应该添加属性 sla_status 并在 search() 中添加所需的位置。例如:

class TaskSearch extends Task{
public $sla_status;
public function search($params){ 
    $query = Task::find();
    if($this->sla_status){ $query->andWhere(...); } 
}}
于 2017-06-05T12:39:14.277 回答