Yii::$app->user->id 的错误数组到字符串转换
Error Array to string conversion for Yii::$app->user->id
我在我的项目中使用这个 Yii::$app->user->id 来获取用户 ID 但是在我删除缓存后我有一个错误:Array to字符串转换
echo Yii::$app->user->id['id'] 是可行的,但为什么要从对象更改为数组?
代码没有任何变化。
/* 删除工具栏小部件中的缓存 */
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 修复了这个问题。
我在我的项目中使用这个 Yii::$app->user->id 来获取用户 ID 但是在我删除缓存后我有一个错误:Array to字符串转换
echo Yii::$app->user->id['id'] 是可行的,但为什么要从对象更改为数组?
代码没有任何变化。
/* 删除工具栏小部件中的缓存 */
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 修复了这个问题。