2012-12-13 2 views
1

내 AppController beforeFilter에서 사용자보기에 사용할 변수에 사용자 데이터를 저장하고 있습니다. datetime 인 last_login 필드를 가져 와서 dateformat 함수를 사용하여 원하는 날짜를 표시해야하지만 cakephp가이 변수를 문자열로 출력하는 것은 putput을 테이블 형식으로 사용하는 방법입니까? (날짜 시간).CakePHP 뷰 변수가 문자열 대신 datetime으로 표시됩니다.

 // 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 

답변

0

첫째 코드가 지저분합니다. 이 시도 :

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

케이크는 날짜와 시간을 수행하는 a class 있습니다.

echo CakeTime::niceShort($lastLogin); 

일반적으로 당신은 당신의 데이터와 다른 일을해야하는 경우 응용 프로그램에 부정적인 영향을 미칠 것입니다 그것을 컨트롤러 모델의 일부를 만드는 관점에서 문자열로 데이터를해야한다.

관련 문제