LaravelのマイグレーションでTIMESTAMP型カラムが意図せず自動更新される

発生した問題 Laravelのマイグレーションで作成したTIMESTAMP型カラムが、明示的に値を指定していないUPDATE実行時に自動更新されるという事象に遭遇しました。原因を調査したので、その内容を共有します。 環境 …

Continue reading ‘LaravelのマイグレーションでTIMESTAMP型カラムが意図せず自動更新される’ »

Laravel 11へのバージョンアップでマイグレーションが失敗する

Laravel 11で、カラム変更時のchange()メソッドの挙動が変わりました。 既存のマイグレーションはエラーなく通ってしまうため、意図しないスキーマが気づかないうちに作られるのが厄介です。 変更点 change( …

Continue reading ‘Laravel 11へのバージョンアップでマイグレーションが失敗する’ »

Laravelのルートモデルバインディング

概要 ルートモデルバインディングとは、URLパラメータからEloquentモデルのインスタンスを自動的に解決する仕組みです。 コントローラで手動に find() を呼び出す冗長なコードをフレームワーク側に委譲できます。 …

Continue reading ‘Laravelのルートモデルバインディング’ »

LaravelにRepositoryパターンは不要か

Laravelにおいて、Repositoryパターンは多くの場合不要です。その理由は、Eloquentが採用するActive Recordパターンにあります。 Active Recordはデータとロジックを統合したパター …

Continue reading ‘LaravelにRepositoryパターンは不要か’ »