我试图根据它的名称显示category
值,而不是ID。我试图这样做:
[
'attribute' => 'category_id',
'value' => 'category.name',
],
但是属性没有显示出来。它显示:name
而不是Category
。类别名称显示正确。
还尝试了'category.name'
,但它显示了相同的值,'category_id'
正确显示标签,但名称 - 根据ID&#39}。
我该如何解决?
答案 0 :(得分:2)
您是否定义类别的关系,像这样?
public function getCategory()
{
return $this->hasOne(Category::className(),['id'=>'category_id']);
}
如果要在GridView中显示,可以像你一样
[
'attribute' => 'category_id',
'value' => 'category.name',
],
如果要在DetailView中显示,可以这样做
[
'attribute' => 'category_id',
'value' => $model->category ? $model->category->name : '',
],
答案 1 :(得分:0)
似乎你需要一个标签。
最简单的方法是在详细视图项
中直接添加标签[
'label' => 'Category',
'attribute' => 'category_id',
'value' => ....,
],