1

私のAppController beforeFilterでは、ビューで使用するためにユーザーデータを変数に保存しています。datetime である last_login フィールドを取得し、dateformat 関数を使用して必要な日付を表示する必要がありますが、cakephp はこの変数を文字列として出力しています。テーブルの形式として putput する方法はありますか? (日付時刻)。

        // Set user variables for each page load
        $id = $this->Auth->user('id');
        // Set $id
        $user_data = $this->User->findById($id);
        // Set User Last Login
        $user_lastlogin = $user_data['User']['last_login'];
        $this->set('lastLogin', $user_lastlogin);

意見

<?php echo date_format($lastLogin, 'F jS \at h:i:s A'); ?>

エラー

Warning (2): date_format() expects parameter 1 to be DateTime, string given
4

1 に答える 1

0

まず、コードが乱雑です。これを試して:

$this->User->id = $this->Auth->user('id');
$this->set('lastLogin', $this->User->field('last_login'));

Cake には、日付と時刻を行うためのクラスがあります。

echo CakeTime::niceShort($lastLogin);

一般に、データをビューで文字列にする必要があります。データを使用して他のことを行う必要がある場合、コントローラーまたはモデルの一部にすることは、アプリケーションに悪影響を及ぼします。

于 2012-12-13T21:25:10.167 に答える