簡體   English   中英

錯誤數組到Yii :: $ app-> user-> id的字符串轉換

[英]Error Array to string conversion for Yii::$app->user->id

我在我的項目中使用此Yii :: $ app-> user-> id來獲取用戶ID,但是刪除緩存后出現錯誤:數組到字符串的轉換

回聲Yii :: $ app-> user-> id ['id']是可行的,但為什么從Object改為Array?

代碼沒有任何變化。

/ *刪除工具欄小部件中的緩存* /

Yii::$app->cache->delete('toolbar_model_user-'.Yii::$app->user->id);
Yii::$app->cache->delete('toolbar_blogModel_blog-'.$this->blogId);

print_r(Yii :: $ app-> user-> id):

Array
(
    [id] = 152
    [email] = ad_ji_di@yahoo.com
)

錯誤:

Array to string conversion

    1. in /home/public_html/app/vendor/yiisoft/yii2/web/User.php at line 245
    236237238239240241242243244245246247248249250251252253254

         * @return bool whether the user is logged in
         */
        public function login(IdentityInterface $identity, $duration = 0)
        {
            if ($this->beforeLogin($identity, false, $duration)) {
                $this->switchIdentity($identity, $duration);
                $id = $identity->getId();
                $ip = Yii::$app->getRequest()->getUserIP();
                if ($this->enableSession) {
                    $log = "User '$id' logged in from $ip with duration $duration.";
                } else {
                    $log = "User '$id' logged in from $ip. Session not enabled.";
                }
                Yii::info($log, __METHOD__);
                $this->afterLogin($identity, false, $duration);
            }

            return !$this->getIsGuest();
        }

在此處輸入圖片說明

您需要使用

Yii::$app->user->identity->id

此問題適用於PHP版本。

更新到PHP 5.6可以解決此問題。

https://github.com/yiisoft/yii2/issues/1029

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM