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 の代わりに配列が表示されるのはなぜですか。代わりに入力した生年月日を表示するように変更するにはどうすればよいですか。

4

2 に答える 2

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

しかし、これは正確には使用できません。そもそもなぜこの形式で保存しているのですか?を保存するコードを投稿しますdob。Cakeがあなたのように保管する必要がある場合dobは、何かがおかしいようです。dateYYYY-MM-DD

于 2013-03-04T19:42:20.033 に答える
2

これは PHP 101 です。配列をエコーし​​ようとすると、「Array」が出力されます。CakePHP は魔法のように配列を文字列に変換しません。日、月、年を個別にエコーするか、最初に各日付部分を連結した文字列を作成してエコーします。

于 2013-03-04T19:40:33.673 に答える