Yii2如何在GridView中锚定关系的值
Yii2 how to anchor the value of the relationship in the GridView
我是初学者。我讲解题目:
在Ticket
模型中存在这样的关系:
public function getTyp()
{
return $this->hasOne(Typology::className(), [ 'id' =>'typ_id']);
}
并且在工单 table 中有 typ_id 列(它与 Typology table 的 ID 相关)。
在视图 views/ticket/index.php
中有 GridView::widget
这些 columns
:
[
'attribute' => 'typ_id',
'value' => 'typ.typology'
],
我想锚定关系的价值。
我试过这个:
[
'attribute' => 'typ_id',
'value' => function ($model) {
return Html::a (
'typ.typology',
'/typology/view?id='.$model->typ_id
);
}
]
但是没用
有人可以帮助我吗?
Html::a() interprets typ.typology
as raw string. Use $model
in value closure通过关系得到必要的属性。
另外,不要手动将 url 与其参数连接起来,只需将它们传递到数组中即可(请参阅 Url::to() 了解 link 的构造方式)。
[
'attribute' => 'typ_id',
'value' => function ($model) {
return Html::a($model->typ->typology, ['/typology/view', 'id' => $model->typ_id]);
},
],
我是初学者。我讲解题目:
在Ticket
模型中存在这样的关系:
public function getTyp()
{
return $this->hasOne(Typology::className(), [ 'id' =>'typ_id']);
}
并且在工单 table 中有 typ_id 列(它与 Typology table 的 ID 相关)。
在视图 views/ticket/index.php
中有 GridView::widget
这些 columns
:
[
'attribute' => 'typ_id',
'value' => 'typ.typology'
],
我想锚定关系的价值。 我试过这个:
[
'attribute' => 'typ_id',
'value' => function ($model) {
return Html::a (
'typ.typology',
'/typology/view?id='.$model->typ_id
);
}
]
但是没用
有人可以帮助我吗?
Html::a() interprets typ.typology
as raw string. Use $model
in value closure通过关系得到必要的属性。
另外,不要手动将 url 与其参数连接起来,只需将它们传递到数组中即可(请参阅 Url::to() 了解 link 的构造方式)。
[
'attribute' => 'typ_id',
'value' => function ($model) {
return Html::a($model->typ->typology, ['/typology/view', 'id' => $model->typ_id]);
},
],