我有一个名为假期的模型和一个名为人物的模型。
假期的字段为: 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;。
答案 0 :(得分:0)
您的网格正在尝试按person_id
进行过滤,您需要更新搜索模型以按相关数据进行过滤。 (因为person_name不是假日模型的属性)
关注官方文档中的this guide