无法在yii2 gridview

时间:2017-12-14 06:12:31

标签: php exception gridview yii2

我有一个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']),

        ],

tablenameid列。

当我转到我的索引页面时,我得到以下异常

  

尝试获取非对象的属性

我在其他观点中做过这件事,但我不知道为什么会出现

任何帮助都将受到高度赞赏。

1 个答案:

答案 0 :(得分:1)

您的细分ID为空,请使用:

[
    'label' => 'Sub-Division',
    'value' => 'subdivision.name',
],

[
    'label' => 'Sub-Division',
    'value' => function ($d) {
         return !empty($d->sub_division) ? $d->subdivision->name : null;
    },
],