2016-11-04 109 views
0

如何根據當前用戶登錄從數據庫中獲取數據?例如,當用戶登錄並單擊配置文件欄時,它只會顯示他/她的數據。我已經嘗試過,但它顯示用戶的所有數據。從yii2當前用戶登錄數據庫檢索數據

在personalinfo.php

<?php foreach ($personals as $user):?><?=Html::encode("{$user->username}")?><?php endforeach;?> 
    <?php foreach ($personals as $user):?><?=Html::encode("{$user->user_id}")?><?php endforeach;?> 
    <?php foreach ($personals as $user):?><?=Html::encode("{$user->email}")?><?php endforeach;?> 

在控制器

public function actionPersonalinfo() 
    { 
    $query = User::find()->all(); 
    return $this->render('personalinfo', [ 
     'personals' => $query 
    ]); 


    } 

我想是因爲$查詢=用戶::發現() - >所有();.但我不知道如何替換它,以便它將根據當前用戶登錄檢索數據。我對yii2非常感興趣。對不起,謝謝

回答

1

替換代碼:

在personalinfo.php

User Id : <?php echo $personals->user_id; ?> 
    Username: <?php echo $personals->username; ?> 
    Email : <?php echo $personals->email; ?> 

在控制器

public function actionPersonalinfo() { 
     $query = User::findOne(Yii::$app->user->id); 
     return $this->render('personalinfo', [ 'personals' => $query ]); 
    } 
+0

非常感謝@Mohan事業份額這方面的知識。它的工作原理..我很感激它 – Fyp16

0

如果你想檢索基於當前登錄用戶的數據。你應該在你的查詢中添加條件。

類似:

$user = User::findOne(Yii::$app->user->id);

還,如果你只需要返回一個活動記錄實例,你不需要循環在你的看法。

+0

謝謝你幫我 – Fyp16

相關問題