2017-12-14 14 views
-1

私はフィールド名がsub-divisionであるindexビューを持っています。フィールドにIDが表示されます。しかし、IDの代わりにnameと表示したいと思います。yii2グリッドビューのIDに対して名前を取得できません

私は何をしましたか?

私は

$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のようにフィルタリング行っている私の検索モデルでは、私のModel

public function getSubdivision() 
{ 
    return $this->hasOne(SurveyHescoSubdivision::className(), ['id' => 'sub_division']); 
} 

に機能を配置していますname列がありますidを添付してください。

私は後藤私のインデックスページ私は非オブジェクト

のプロパティを取得しようとすると、以下の例外

を取得していたとき、私は他のビューにこの事を行っているが、私は知りませんこれがなぜ表示されているのですか

助けを得ることができます。

答えて

1

あなたの細分化idは、使用空です:

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

OR

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