我正在使用来自webvimark的yii2-user-management来开发我的项目。
我还使用BlameableBehavior记录数据更改。
当我查看数据时,它会在created_by和Updated_by字段中显示用户ID。
问题是如何在查看代码中显示用户名而不是ID?
答案 0 :(得分:0)
按如下所示在模型中定义关系
public function getCreator(){
return $this->hasOne(User::class,['id','created_by']);
}
public function getModifier(){
return $this->hasOne(User::class,['id','updated_by']);
}
注意:如果您使用的是5.6或更早的php版本,则可以使用::className()
代替::class
。有关差异,请参见here
然后在视图中使用您的关系显示username
字段而不是用户ID,我假设您正在使用DetailView
<?php echo DetailView::widget([
'model' => $model,
'attributes' => [
'creator.username',
'modifier.username',
],
]);
?>