我有一个index
视图,其中我有一个字段名sub-division
。该字段显示id。但我想显示它name
而不是ID
。
我做了什么?
我已在Model
public function getSubdivision()
{
return $this->hasOne(SurveyHescoSubdivision::className(), ['id' => 'sub_division']);
}
在我的搜索模型中,我完成了像
这样的过滤 $query->andFilterWhere([
'id' => $this->id,
'meter_id' => $this->meter_id,
'created_by' => $this->created_by,
'updated_by' => $this->updated_by,
'created_at' => $this->created_at,
'updated_at' => $this->updated_at,
'store_id' => $this->store_id,
'sub_division'=> $this->sub_division,
'status'=>'Inventory Stored',
]);
在我的索引视图中
[
'label' => 'Sub-Division',
'value' => function ($d) {
return $d->subdivision->name;
},
// 'filter' => Html::activeDropDownList($searchModel, 'sub_division', \common\models\SurveyHescoSubdivision::toArrayList(), ['prompt' => "Sub-Div", 'class' => 'form-control']),
],
table
对name
有id
列。
当我转到我的索引页面时,我得到以下异常
尝试获取非对象的属性
我在其他观点中做过这件事,但我不知道为什么会出现
任何帮助都将受到高度赞赏。
答案 0 :(得分:1)
您的细分ID为空,请使用:
[
'label' => 'Sub-Division',
'value' => 'subdivision.name',
],
或强>
[
'label' => 'Sub-Division',
'value' => function ($d) {
return !empty($d->sub_division) ? $d->subdivision->name : null;
},
],