Laravel

Tech

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

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

PhpStormで「Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?」が出たときの対処法

Docker Desktop for Macを使っている場合の話。 問題 PhpStormでDocker用にインタプリターを構成してPHPUnitを実行したところ、以下のメッセージが表示されました。 Cannot connect to th...
Tech

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

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

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

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

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 SailでMySQLからPostgresに変更する方法

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