Есть модель Product
/**
* {@inheritdoc}
*/
public function attributeLabels()
{
return [
'id' => 'ID',
'types_id' => 'Тип',
'img' => 'Img',
'scu' => 'Scu',
'name' => 'Name',
'count' => 'Count',
];
}
/**
* Gets query for [[Types]].
*
* @return \yii\db\ActiveQuery
*/
public function getTypes()
{
return $this->hasOne(Type::class, ['types_id' => 'id']);
}
и модель Type
public function attributeLabels()
{
return [
'id' => 'ID',
'name' => 'Name',
];
}
/**
* Gets query for [[Products]].
*
* @return \yii\db\ActiveQuery
*/
public function getProducts()
{
return $this->hasMany(Product::class, ['types_id' => 'id']);
}
Как отобразить name из модели Type, имея id типа?
<?= GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'columns' => [
['class' => 'yii\grid\SerialColumn'],
['attribute' => 'name', 'label' => 'Название'],
['attribute' => 'scu', 'label' => 'scu'],
['attribute' => 'types_id', 'label' => 'Тип', 'value' => 'types_id.name'],
['attribute' => 'img', 'label' => 'Изображение', 'format' => 'image'],
['attribute' => 'count', 'label' => 'Количество'],
['class' => 'yii\grid\ActionColumn'],
],
]); ?>