2016-03-03 43 views
0

用戶ID我想在管理面板中顯示用戶名,而不是用戶ID: enter image description here如何顯示用戶名,而不是在警予2.0

我想用戶名申請˚F用戶

請給我提前熱烈讚賞我的解決方案。

+0

id和用戶名在同一個表中?請分享一些表格的細節。 – RK12

+0

不是用戶來自不同的表格。我得到的用戶ID – vikash

+0

字段($ model,'users_id') - > dropDownList(ArrayHelper :: map(user :: find() - > all(),'id','username'),['prompt '=>'select'])?> – vikash

回答

0

在索引視圖文件試試這個:

echo GridView::widget([ 
      'dataProvider' => $dataProvider, 
      'filterModel' => $searchModel, 
    'columns' => [ 
       ['class' => 'yii\grid\SerialColumn'], 
       ['attribute' => 'user_id', 
        'header' => 'User Name', 
        'value' => function($data) { 
         return $data->user->username; 
// here user is your relation name in base model. 
        }, 
       ] 
       ] 
     ]); 
+0

顯示「試圖獲得非對象的財產」我做的工作模式是這樣的關係:公共職能關係(){ \t回報[ \t \t \t「用戶」 =>陣列(自:: belongs_to的,「 user','users_id'), \t]; }有沒有其他方法可以解決這個問題? – vikash

+0

我工作在yii 2.0.7有沒有其他方法? – vikash

+0

對於我的工作答案,你的作業基地模型的功能應該是這樣的: public function getUser() { return $ this-> hasOne(Users :: className(),['id'=>'user_id' ]); } 如果您的基本模型中沒有這種方法,那麼您必須再次生成模型並覆蓋模型。 – RK12

-1

打開視圖文件(路徑就像@應用程序/視圖/用戶/ index.php文件) 查找字符串:

<?= GridView::widget([ 
     'dataProvider' => $dataProvider, 
     'columns' => [ .... ] 

陣列名爲 '列' 是你所需要的。你可以交換ID和用戶名。刪除一些欄目等。更多詳情,請參閱this doc

0

假設你有一個關係表或模式叫用戶ID和名稱屬性。

您當前的聲明模型類或活動記錄中關係數據與 -

public function getUser() 
{ 
    return $this->hasOne(Users::className(), ['id' => 'users']); 
} 

然後在索引視圖修改GridView控件來指代關係的用戶,並通過「user.name」屬性名稱,以取代老用戶。

<?= GridView::widget([ 
    'dataProvider' => $dataProvider, 
    'columns' => [ 
     ['class' => 'yii\grid\SerialColumn'], 
     'id', 
     //'users', 
     'user.name', 

     ['class' => 'yii\grid\ActionColumn'], 
    ], 
]); ?> 
相關問題