2016-12-24 5 views
1

これは繰り返しの質問かもしれませんが、私は真剣に怒っています。私は日時をよく知っていますが...Laravel DateTime

私は長い間同じことをしていますが、それはうまくいっていますが、今はそれがありません。

私が取得エラー:

Invalid datetime format: 1292 Incorrect datetime value: '12/06/2016' for column 'claimed_on' at row 1 (SQL: insert into `claim_details` (`desc`, `claimed_on`, `amount_claimed`, `status`, `claim_id`, `updated_at`, `created_at`) values (expense 123, 12/06/2016, 123, pending, , 2016-12-24 09:44:02, 2016-12-24 09:44:02)) 

私はこれをやっている:カーボンインスタンスと同じようにそれで動作するように

$claim->claimed_on = Carbon::now(); 

enter image description here

+0

私はこのような形式で日付と時刻を渡す必要があると思います。2016-12-24 11:23:21代わりに/あなたが渡す必要があります - –

+0

'Carbon :: now()'は日付を生成します正しい形式。私が知る限り、 'mm/dd/yyyy'で日付を生成しません。私は、あなたがこのフィールドを挿入の前のどこかに設定しているか、クラスに誤った 'setClaimedOnAttribute'ミューテータがあると思います。 – patricus

+0

私の以前のコメントに加えて、 'Carbon :: now()'は過去18日の日付ではなく、今日の日付を生成します。私はあなたのフィールドをどこか別の場所に戻していると思います。 – patricus

答えて

2

$dates変数にclaimed_onを追加します。

protected $dates = ['claimed_on']; 
マイグレーションでテーブルを作成する際に

また、dateTime()を使用します。

$table->timestamp('claimed_on'); 
+0

タイムスタンプを使用する方が良いですか? https://laracasts.com/discuss/channels/laravel/migrations-timestamp-vs-datetime-vs-date-vs-timestamps – jycr753

+0

どちらも動作しますが、 'timestamp'を使用するようにコードを更新しました。リンクありがとう。 –

0

使用

$carbon = Carbon::now(); 
$claimed_on = $carbon->toDateTimeString(); 

を、私はそれはあなたの問題を解決すべきだと思います。

関連する問題