2014-06-07 4 views
4

Laravel과 SQLite를 사용하여 webapp를 만들었습니다. 모든 것이 훌륭해졌습니다. 이제 MySQL을 데이터베이스로 사용하고 싶지만 지금은 테이블에 데이터를 추가 할 수 없습니다. Laravel과 MySQL이 DateTime의 경우에 잘 작동하지 않습니다.

내 마이그레이션에서 필드 :

$table->dateTime('last_updated')->nullable(); 

를이 내가 laravel 사용하여 필드를 채우는 오전 방법입니다

$client->last_updated = time(); 

를하지만처럼 나에게 오류를주고있다 :

Illuminate \ Database \ QueryException 
SQLSTATE[22007]: Invalid datetime format: 1292 Incorrect datetime value: '1402140378' for column 'last_updated' at row 1 (SQL: update `clients` set `last_updated` = 1402140378 where `id` = 1) 

도움이 될 것입니다.

답변

13

$table->dateTimeYYYY-MM-DD HH:ii:ss 값을 예상하는 데이터베이스에 DATETIME 열을 만듭니다. 삽입하려는 것은 유닉스 타임 스탬프입니다.

당신은 데이터베이스에 현재 날짜를 삽입, Carbon는 (파일의 맨 위에있는 use Carbon\Carbon 필요)

$client->last_updated = Carbon::now() 

date(...)

,

$client->last_updated = date('Y-m-d H:i:s') 

또는 PHP의 DateTime 클래스를 사용할 수 있습니다 ..

+0

맞습니다. 이 같은 오류는 'timestamp'유형으로 설정 한 열 필드에서 발생했습니다. 내가 datetime 유형의 필드로 변경 한 후에 오류가 사라졌습니다. – racl101

관련 문제