もがき系プログラマの日常

もがき系エンジニアの勉強したこと、日常のこと、気になっている技術、備忘録などを紹介するブログです。

Laravelの日付ミューテタで適用されるCarbonをCarbonImmutableに変更する

はじめに

こんばんは。

超簡単なものですが、調べて出来たので残しておきます。

Laravelの日付ミューテタは、Eloquentの dates プロパティにセットされたカラムを対象に、DBから取得したさいに文字列ではなく、 Illuminate\Support\Carbon として取得してくれます。

ちなみに created_at updated_atdates に記述しなくてもLaravelの方で勝手に Carbonクラスに変更してくれます。

Image from Gyazo

しかしこの Illuminate\Support\Carbon は Immutable版ではないです。

なので、 こちらの記事 で紹介されているようなミスが起きてしまいます。

toImmutable() とかで Immutableに変更できますが、面倒です。

日付ミューテタ全体的に CarbonImmutableに変更したいです。

本題

というわけで以下の一文を AppServiceProvider に追加します。

    public function register()
    {
        DateFactory::use(CarbonImmutable::class);
    }

おしまいです。

tinkerで試してみます。

Image from Gyazo

Immutableに変わってます。

終わり

こんな感じで内容の薄い記事でした。

Laravel楽しいです。

もうちょい使いこなせるようにがんばります。

あと、全く関係ないんですが、GyazoをGifを、はてなブログMarkdownで貼り付けたいときは、ここやればいいんですね。 Gyazo課金勢なのでバンバン使ってます。

f:id:kojirooooocks:20190915230947p:plain

現場からは以上です。