Yii2:filterModel的GridView"必须是一个整数"错误

时间:2018-05-15 15:09:15

标签: php gridview yii2

我有一个名为假期的模型和一个名为人物的模型。

假期的字段为: holiday_id person_id

人员的字段为: person_id person_name

然后我有GridView widget来显示假期模型:

<?= GridView::widget([
    'dataProvider' => $dataProvider,
    'filterModel' => $searchModel,
    'columns' => [
        [
            'attribute' => 'person_id',
            'label' => 'Person',
            'value' => function($model) {
                $persons = \app\models\Persons::findOne(['person_id' => $model->person_id]);
                return $persons->person_name;
            }
        ],
    ],
]) ?>

但是过滤器无法正常工作,因为它想通过person_id进行搜索。 我需要按person_name搜索。它显示错误&#34;人员必须是整数&#34;。

GridView Widget showing error: "Persons must be an integer".

1 个答案:

答案 0 :(得分:0)

您的网格正在尝试按person_id进行过滤,您需要更新搜索模型以按相关数据进行过滤。 (因为person_name不是假日模型的属性)

关注官方文档中的this guide