Laravel なぜかモデルをデータベースに保存すると created_at と updated_at が更新される

ショコラ
ショコラ

Laravel なぜかモデルをデータベースに保存すると created_at と updated_at が更新される

という現象に遭遇した。
そうも Model は created_at と updated_at を「datetime型」として扱うようで、
そうすると Carbon で扱われるようになる。この Carbon をJSONにすると _at が狂う。

✔ datetime cast → Carbon
✔ 何も指定しない → string
✔ created_at系は Carbon

もっさん先輩
もっさん先輩

Mdels に Model クラスを作成して対応してみました。

namespace App\Models;

class Model extends \Illuminate\Database\Eloquent\Model
{
  protected function serializeDate( \DateTimeInterface $date ) {
    return $date->format('Y-m-d H:i:s');
  }
}

以上

Scroll to Top