2017-10-18 6 views
0

私たちのラーバルマイグレーションでは、アプリケーションに必要な静的データ(国、通貨など)を挿入します。laravel 5.4、タイムスタンプ(mysql)を挿入する方法

タイムスタンプフィールドを含む行を挿入しようとしていますが、指定された日時に設定する方法がわかりません。

我々は(時間を試してみました)と例えば、標準の日付形式を設定しています

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

を両方ともタイムスタンプ列は0000-00-00夜12時00分00秒で終わります。

アイデア?

+0

:: now() '上に' Carbon \ Carbon'を追加することを忘れないでください:) – Maraboc

答えて

1

time()はUnixタイムスタンプを返しますが、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) 
関連する問題