我从另一个表A引用了2列,我想显示用户名,因为它们保存在表B中

I know how to display name instead of id in Yii framework in gridview and detail view.

Here is part of codes in view.php

 <?= DetailView::widget([
    'model' => $model,
    'condensed' => false,
    'hover' => true,

    'attributes' => [
        'user_branch_id',
        //'user_id',
        [
            'attribute'=>'user_id',
           'value' =>$model->user->username,
        ],

        //'branch_id',
        [
            'attribute'=>'branch_id',
           'value' =>$model->branch->branch_name,
        ],
        'status',
       /* [
            'attribute' => 'created_at',
            'format' => [
                'datetime', (isset(Yii::$app->modules['datecontrol']['displaySettings']['datetime']))
                    ? Yii::$app->modules['datecontrol']['displaySettings']['datetime']
                    : 'd-m-Y H:i:s A'
            ],
            'type' => DetailView::INPUT_WIDGET,
            'widgetOptions' => [
                'class' => DateControl::classname(),
                'type' => DateControl::FORMAT_DATETIME
            ]
        ],
        */
       **// 'created_by',
        [
            'attribute'=>'created_by',
           'value' =>$model->user->username,
        ],**
        [
            'attribute' => 'last_update',
            'format' => [
                'datetime', (isset(Yii::$app->modules['datecontrol']['displaySettings']['datetime']))
                    ? Yii::$app->modules['datecontrol']['displaySettings']['datetime']
                    : 'd-m-Y H:i:s A'
            ],
            'type' => DetailView::INPUT_WIDGET,
            'widgetOptions' => [
                'class' => DateControl::classname(),
                'type' => DateControl::FORMAT_DATETIME
            ]
        ],

    ],
    'deleteOptions' => [
        'url' => ['delete', 'id' => $model->user_id],
    ],
    'enableEditMode' => true,
]) ?>

I have these attributes:

1. [
                'attribute'=>'user_id',
               'value' =>$model->user->username,
            ],
 2. [
                'attribute'=>'created_by',
               'value' =>$model->user->username,
            ],

when I retrieve as shown on a screenshot below, it show same username, while id are different i.e.

column created_by: 1 column user_id: 3

1

Finally I solve my problem, at the model, because two columns are foreign keys from same table user, the model generate two get functions

  1. getUser()
  2. getCreatedBy

Then my code solutions are [ 'attribute'=>'user_id', 'value' =>$model->user->username, ], 'attribute'=>'created_by', 'value' =>$model->createdBy->username, ],