出生日期会话数组显示为“数组”而不是日/月/年

时间:2013-03-04 18:31:49

标签: cakephp cakephp-2.0

我试图让用户出生日期显示在会话的页面上,但它显示的是Array这个词。我检查了数据库,我知道出生的数据已经正确保存它只是它不会在视图中显示它我认为这可能是由于调试器保存了出生日期

'dob' => array( 'day' => '25', 'month' => '04', 'year' => '1992' ),

我使用

在视图中调用出生日期
<td><?php echo __('Date Of Birth'); ?></td>
<td><?php echo h($this->Session->read('Auth.User.dob')); ?></td>

这适用于所有其他用户的信息,例如姓名,姓氏等。

为什么它显示数组而不是dob,如何更改它以显示我输入的出生日期。

2 个答案:

答案 0 :(得分:2)

这是PHP 101,如果你试图回显数组,它将输出“数组”。 CakePHP不会神奇地将数组转换为字符串。分别回显日,月,年或首先创建一个串联每个日期部分的字符串并回显它。

答案 1 :(得分:2)

$dob = $this->Session->read('Auth.User.dob'); 
echo $dob['day'] . '/' . $dob['month'] . '/' . $dob['year'];

但这并不完全可用。为什么要首先以这种格式存储它?发布保存dob的代码。如果dobdate Cake 应该为您存储YYYY-MM-DD,那么看起来似乎不对。