如何获取gridview yii中的相关数据

时间:2015-12-03 13:29:01

标签: gridview yii2

这是我的AttributeLang模型

df.col2 = df.col1

In [149]: df
Out[149]:
   col1  col2
0     1     1
1     2     2
2     3     3

In [147]: df.isin(df.T[df.columns == 'col1'].T)
Out[147]:
   col1   col2
0  True  False
1  True  False
2  True  False

}

这是我的控制器

<?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']);
}

这是我的观看文件

public function actionView($id)
{        
    $searchModel = new AttributeSearch();
    $attribute = new Attribute();
    $color = AttributeLang::find()
        ->joinwith('idAttribute')
        ->andWhere('id_attribute_group ='.$id)
        ->all();
    pr($color);die;   

    $dataProvider = $searchModel->newsearch(Yii::$app->request->queryParams);        
    return $this->render('view', [
        'model' => $attribute::findOne($id),
        'searchModel' => $searchModel,
        'dataProvider' => $dataProvider,
        'color' => $color,           

    ]);
}

'id_attribute','id_attribute_group','color','position'列位于属性表中。

如何在gridview中的attribute_lang表中显示一个额外的cloumn“name”。

如果我打印$ color,结果如下图所示。enter image description here

1 个答案:

答案 0 :(得分:0)

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