如何使用Yii2 GridView中的多选下拉列表执行过滤

Nod*_*mon 15 php yii2 dropdown

在这里,我想清楚地解释我的问题,

我试图执行多选下拉过滤器,在此多选过滤器之前,我有一个基本过滤器.

我正在使用kartik-v下拉延伸

search.php中

<?php
     $status = ArrayHelper::map(Status::find()->all(),'id','status');
     echo $form->field($model, 'status')->widget(Select2::classname(), [
                            'data' => $status,
                            'language' => 'en',
                            'options' => [
                            'placeholder' => 'Select Status..',
                            'multiple' => true
                            ],
                            'pluginOptions' => [
                                'allowClear' => true
                            ],
                    ]);
?>
Run Code Online (Sandbox Code Playgroud)

claimsSearch.php

$query->andFilterWhere([
            'status' => $this->status
        ]);
Run Code Online (Sandbox Code Playgroud)

如果我尝试上面的代码我得到如下错误

Array to string conversion
Run Code Online (Sandbox Code Playgroud)

但在这里我不知道如何编写过滤器代码.

更新searchview: 搜索视图快照

Kal*_*i S 4

尝试从 EmployeeSearch 规则中删除“状态”。您无法以自动方式过滤此类字段。或者您必须为状态列设置自定义过滤器值,如下所示(您可以深入研究这个方向):

如何在 GridView::widget、Yii2 的搜索框中使用简单的下拉列表? 试试这个链接