2015-01-30 3 views
0

초보자입니다. 나는 주제를 설명 : Yii2 GridView에서 관계의 값을 고정하는 방법

public function getTyp() 
{ 
    return $this->hasOne(Typology::className(), [ 'id' =>'typ_id']); 
} 

및 티켓 테이블에

typ_id 열은 (는 유형학 테이블의 id과의 관계에있다)가 다음 Ticket 모델이 관계가

. 뷰 views/ticket/index.php에서 다음 columnsGridView::widget가 :

[ 
    'attribute' => 'typ_id', 
    'value' => 'typ.typology' 
    ], 

내가 관계의 값을 고정하고 싶습니다. 나는이 시도 :

[ 
    'attribute' => 'typ_id', 
    'value' => function ($model) { 
       return Html::a (
       'typ.typology', 
       '/typology/view?id='.$model->typ_id 
       ); 
     } 
    ] 

을하지만

누군가가 나를 도울 수 작동하지 않는 이유는 무엇입니까?

답변

0

Html::a()은 원시 문자열로 typ.typology을 해석합니다. 관계를 통해 필요한 속성을 얻으려면 $modelvalue closure에 사용하십시오.

URL을 수동으로 매개 변수와 연결하는 대신 배열로 전달하십시오 (링크 구성 방법을 이해하려면 Url::to() 참조).

[ 
    'attribute' => 'typ_id', 
    'value' => function ($model) { 
     return Html::a($model->typ->typology, ['/typology/view', 'id' => $model->typ_id]); 
    }, 
], 
+0

감사합니다. :) –

+0

queryparms와 관련된 다른 비슷한 질문을 만들었습니다. –

+0

http://stackoverflow.com/questions/28258210/yii2-activedataprovider-dont-work-after-queryparms-in-action –

관련 문제