6
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Laravel】Carbon::make を使うとnull値を取得できる

Last updated at Posted at 2022-04-11

概要

Carbon::parse(null)でCarbonインスタンスを生成すると期待した挙動にならなかった。

  • 期待した挙動)
    • null値が返る
  • 実際の挙動)
    • Carbonインスタンス(perseメソッドを呼び出した時点の時刻が設定されている)

毎回、引数のnullチェックするのは冗長なので、良い方法が無いか調べていると以下のissuesを見つけた。

結果的にどう対応するか?

Carbon::makeを利用すると、引数がnullの場合にnull値を取得できる。

var_dump(Carbon::make(null)); // null
var_dump(Carbon::make('2019-06-15 12:34:54')); // Carbon instance

ちなみにQiita記事等で良く見かける実装方法だと、null値では無く、メソッドの呼出し時刻でCarbonインタンスが生成されるので使い方に注意。

new Carbon(null); // Carbon::make('現在の時刻') で生成したインスタンスと同じものを返す
Carbon::parse(null) // Carbon::make('現在の時刻') で生成したインスタンスと同じものを返す
6
3
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
6
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?