2017-10-18 10 views
0

Laravel 마이그레이션에서 우리는 앱에 필요한 정적 데이터 (국가, 통화 등)를 삽입합니다.laravel 5.4, 타임 스탬프 삽입 방법 (mysql)

우리는 타임 스탬프 필드가있는 행을 삽입하려하지만 지정된 날짜/시간으로 설정하는 방법을 알 수 없습니다.

우리는 시간()과 표준 날짜 형식, 예컨대 설정을 시도했다 :

DB::table('test')->insert(['id'=>1,'start_at'=>time(), 'end_at'=>'2050-01-01 00:00:00']); 

두 타임 스탬프 열이 0000-00-00 0시 0분 0초와 끝까지합니다.

아이디어가 있으십니까?

+0

:: now()'상단에'Use Carbon \ Carbon'을 추가하는 것을 잊지 마세요 :) – Maraboc

답변

1

time()은 유닉스 타임 스탬프를 반환하지만 MySQL은 YYYY-mm-dd HH : ii : ss 타임 스탬프를 원합니다. 예 : date('Y-m-d H:i:s') 또는 Carbon을 사용해보세요.

덧붙여서 start_at 이전의 누락 된 부분이 있습니다.

0

OK, 나는 탄소와 하나 개의 솔루션 (조엘 &에 의해 주어진 탄소 옵션 Maraboc가 더 좋을 수도)

$now= new DateTime; 
$future = $now->add(new DateInterval('P20Y')); 
DB::table('test')->insert(['id'=>1,'start_at'=>$now, 'end_at'=>$future]); 
0

을 발견 : 탄소`start_at '=> tCarbon으로 시도

$dt = Carbon::parse('2012-9-5 23:26:11'); 
var_dump($dt->timestamp);  //int(1346901971)