Laravel

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' => C...
Tech

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

WordPressの投稿をLaravelで扱ってみます。 Corcel Corcelは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ですが、同時に立ち上げるサービスを指定することができるようです。