2017-11-28 4 views
0

DetailView에 ID 대신 이름을 표시하려고합니다.ID 대신 이름이 표시됩니다. DetailView Yii2

인 내가이의 GridView에서 무슨 짓을했는지에 비슷한 짓을 :

[ 
    'attribute' => 'employee_id', 
    'value' => 'employee.employee_name' 
], 

하지만 DetailView에 그것을 시도하는 경우는 "employee.employee_name"가 아니라 직원 이름을 표시

가 여기 내 모델의 :

public function getEmployee() 
{ 
    return $this->hasOne(Employee::className(), ['id' => 'employee_id']); 
} 
+0

이지만, 당신이 마스터 모델에서 관계 이름을 명확히해야합니다. –

답변

0

나는 이미 Yii2 설명서를 읽었습니다.

이 솔루션은 내가이 또한 다른 사람을 돕는 희망

[ 
     'attribute' => 'employee_id', 
     'value' => $model->employee->employee_name, 
], 

입니다.

+2

'employee'가 object를 반환하는지 확인해야합니다. 그렇지 않으면 여기에서 오류가 발생할 수 있습니다. 값을'$ model-> employee로 변경 하시겠습니까? $ model-> employee-> employee_name : null'입니다. – Yupik

+0

왜 내가 null입니까? – Smurfzzz

+0

'DetailView' 또는'GridView'에'(not set)'이 표시됩니다. – Yupik

0

있다, 그것은 확인을해야 'employee.employee_name'에 대한 훨씬 더 간단한 한 줄 솔루션

[ 
    'attribute' => 'employee.employee_name' 
],