如何在gridview yii advanced中获取相关数据

如何在gridview yii advanced中获取相关数据,gridview,yii2,Gridview,Yii2,这是我的AttributeLang模型 <?php namespace backend\models; use Yii; class AttributeLang extends \yii\db\ActiveRecord{ public static function tableName() { return 'attribute_lang'; } /** * @inheritdoc */ public function rules() { return [

这是我的AttributeLang模型

<?php
namespace backend\models;
use Yii;

class AttributeLang extends \yii\db\ActiveRecord{

public static function tableName()
{
    return 'attribute_lang';
}

/**
 * @inheritdoc
 */
public function rules()
{
    return [
        [['id_attribute', 'id_lang', 'name'], 'required'],
        [['id_attribute', 'id_lang'], 'integer'],
        [['name'], 'string', 'max' => 128]
    ];
}

/**
 * @inheritdoc
 */
public function attributeLabels()
{
    return [
        'id_attribute' => Yii::t('app', 'Id Attribute'),
        'id_lang' => Yii::t('app', 'Id Lang'),
        'name' => Yii::t('app', 'Name'),
    ];
}

/**
 * @return \yii\db\ActiveQuery
 */
public function getIdLang()
{
    return $this->hasOne(Lang::className(), ['id_lang' => 'id_lang']);
}

/**
 * @return \yii\db\ActiveQuery
 */
public function getIdAttribute()
{
    return $this->hasOne(Attribute::className(), ['id_attribute' => 'id_attribute']);
}
这是我的视图文件

<?= GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,    
'columns' => [
    ['class' => 'yii\grid\SerialColumn'],

        'id_attribute',
        'id_attribute_group',
        'color',  
        'position',                  
    ],  

]); ?>

“id\U属性”、“id\U属性\U组”、“颜色”、“位置”列位于属性表中

如何在gridview中显示属性_lang表中的额外cloumn“name”


如果我打印$color,结果如下图所示。

如果您使用gii生成模型,并且如果您想在属性视图中显示相关属性的名称,则应该是这样的:“attributeLang.name”

请显示此视图的控制器。我已添加了控制器。请同时添加attributeLang模型(完整)请注意,属性和属性是两种不同的模型?。。并且添加了您显示的与哪个模型相关的控制器)模型。那么,如何显示相关的列名呢?
<?= GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,    
'columns' => [
    ['class' => 'yii\grid\SerialColumn'],

        'id_attribute',
        'id_attribute_group',
        'color',  
        'position',                  
    ],  

]); ?>