2014-01-06 35 views
0

我在CakePHP的2.x的 中,auth-componentent挣扎书上说here这(最后一次是在底部入口)

$this->Auth->user(); 

回报所有用户数据,如果参数为null。

"$key (string) – The user data key you want to fetch. 
If null, all user data will be returned." 

但是,如果我回声出$u

$u = $this->Auth->user(); 

则仅会显示用户ID。我期待整个用户数组。有任何想法吗?从用户表

+0

var_dump($ this-> Auth-> user()); say? –

+0

你是指'$ u = $ this-> Auth'? – Cilan

+0

var_dump $ this-> Auth-> user()); string(2)“21”。它是id,而不是数组。 – FishWave

回答

-1
$this->Auth->user(); 

返回数据,你应该使用

$id= $this->Auth->user('id'); 

要获取ID

+0

他想获取所有数据,不仅是'id'。 –

+0

当我做$ this-> Auth-> user('id')然后我得到Warning(4096):传递给Hash :: get()的参数1必须是数组,字符串给定,在/ home /第656行的xxx/lib/Cake/Controller/Component/AuthComponent.php并定义了[CORE/Cake/Utility/Hash.php,第43行] – FishWave

1
$this->Auth->user(); 

返回值是数组,所以如果你想只是打印调试全部内容,尝试

$u = $this->Auth->user(); 
var_dump($u); 

print_r($u); 
+0

我知道这一点。我说:$ this-> Auth-> user();如本书所述返回id而不是整个用户数组。 – FishWave

0

$u = $this->Auth->user();

返回一个关联阵列,可以通过键在表访问字段,e.g

echo $u['username']; 
echo $u['email']; 
+0

你还没有明白我的问题。我知道它应该返回一个关联数组,但它不会!再次阅读我的问题... – FishWave

+0

@FishWave看到我上面的评论。修复你的代码 - 特别是在你的登录周围。然后它会按预期工作。 – mark

0

$ U = $这个 - > Auth->用户();

Yes you are trying echo $u; 

这insted的尝试下面

vardump($u); or print_r($u); 

让我现在如果对您有所帮助。

感谢

0

正如马克(DerEuroMark)预计在评论,我的登录脚本是错误的。出于某种原因,我将该阵列存储过于平坦。 登录代码错误。我固定的登录密码(分别,我从scatch写的,现在一切工作正常。 谢谢你的好意所有答复。

0

试试这个代码.......... PR($这个 - > Auth-> user());

相关问题