我有一个模型/表请求,其中包含与字段 id 相关的2个字段( user_id 和 analyst_id )在模型表用户。
在我看来,我有一个带有字段的网格视图:
[
'attribute' => 'user_id',
'enableSorting' => true,
'value' => function ($model) {
return $model->user->username;
},
]
如何与analyst_id相同(我需要根据另一个ID显示用户名)?
更新
答案 0 :(得分:1)
只需为分析师创建另一种关系:
添加模型:
public function getAnalyst()
{
return $this->hasOne(User::className(), ['id' => 'analyst_id']);
}
在GridView中显示:
[
'attribute' => 'analyst_id',
'enableSorting' => true,
'value' => function ($model) {
return $model->analyst->username;
},
],
或者,如果分析师可能不存在,请替换return
部分:
return $model->analyst ? $model->analyst->username : null;
答案 1 :(得分:0)
我认为
'value' => function ($model) {
return User::findOne($model->analyst_id)->username;
},
PS为User添加正确的命名空间