Laravel

Tech

【Laravel】Laravel SanctumがCSRFトークンの検証で何やってるかをちゃんと理解する

この記事は Laravel Advent Calendar 2024 19日目の投稿です。Laravel Sanctum が簡単な認証システムを提供してくれるのは良く知られているんですが、認証に関する面倒なことを考えずに済む程度には抽象化さ...
Tech

【Laravel】laravel-modulesでmiddlewareの登録をする

Laravel で手っ取り早くモジュラモノリスやるときは laravel-modules を良く使います。Modules 配下に各モジュールを配置しているためファイルがモジュール毎にまとまっており、内部設計的にはシンプルでわかりやすいと思い...
Tech

【Laravel】preventAccessingMissingAttributesの挙動+おまけ

preventAccessingMissingAttributesの挙動Laravel の Eloquent を利用してデータを取得する場合、特に列の指定がなければすべての列情報を取得してきます。$user = User::find(1);...
Tech

【Laravel】JSON型のカラムにindexを生成してもindexが効かなくなった

本稿では、JSON型のカラムにindexを貼ってみたものの、Laravelで想定通りindexを使ってくれなかったケースを紹介します。JSON型カラムMySQLのJSON型って便利ですよね。あらかじめデータ構造を定義する必要が無いので、デー...
Tech

【Laravel】MacroableでPHPのオーバーロードを学ぶ

PHPのオーバーロードを説明する上でLaravelのMacroableがちょうど良いと思ったので。マクロについてLaravel内部の一部のクラスには、独自に定義したメソッドを追加できる「マクロ」という機能が備わっています。マクロを追加したい...
Tech

【Laravel】EloquentのsaveではCarbonオブジェクトをStringに変換している

はじめにEloquentを利用すると、以下の①、②のどちらのパターンでも保存することが出来ます。$foo = Foo::getModel();// ①明示的にStringを渡す$foo->fill([ 'datetime' => Carbo...
Tech

【Laravel】CorcelでWordPressの投稿をLaravelで使う

WordPressの投稿をLaravelで扱ってみます。CorcelCorcelはEloquent ORMを利用してWordPressのデータを操作するインタフェースを提供しています。WordPresのデータベースへは直接接続することになり...
Tech

【Laravel】orderedUuidはversion4っぽいorderedなUUIDを生成している

Str::orderedUuid()は先頭の48ビットでタイムスタンプで表しているため、順序が保証されるらしい。はじめにLaravelのmigrationsでテーブルを作成する際は、 $table->id() としてidカラムがPKになるこ...
Tech

【Laravel】Laravel SailでMySQLからPostgresに変更する方法

Laravelの環境をDockerで立ち上げるのに便利なLaravel Sailですが、同時に立ち上げるサービスを指定することができるようです。