LoginSignup
1
1

More than 5 years have passed since last update.

LaravelでSQL Server使用時、datetime2を使いたい場合

Last updated at Posted at 2019-04-23

困った!

LaravelでSQL Server使用時、created_atやupdated_at、またその他のカラムで日付データをdatetime2型を指定しなければならない!でもInsert/Update処理がうまくいかない!よくわからないエラーが出る!
あとなんか知らんけどdebugbarも動かない!

ネットで近い情報を調べると
protected $dateFormat = 'Y-m-d H:i:u';
にしろとかいう情報もあるけど、やってもだめだ!

datetime2って?

正確に書くとdatetime2(7)。
YYYY-MM-DD hh:mm:ss[.fractional seconds] という形式の日時の型。
小数点以下は7桁で、精度は100nsです。
2019-04-23 19:41:12.1234567 みたいな感じです。

簡単にいうと「マイクロセコンドではありません!」
ですので、uの指定じゃ不足です。

じゃどうすればいいの?

modelで、
protected $dateFormat = 'Y-m-d H:i:u0';
を指定!(末尾の0で桁を合わせる)

これで解決したよ。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1