PHP

PHP

VSCodeでphpのdebugをするならこの設定

画面を動かしている際のdebugはネットに転がっている設定でできていましたが phpunitを実行している際にdebugが効かなかったので、四苦八苦しました。
PHP

Laravel QueryBuilderのupdate()でupdated_atを自動更新する方法

多くの人がLaravelの save() や update() の挙動に躓き、ブログのネタにされ、Eloquentではなく、QueryBuilderを用いたupdate()に関してはupdated_atを自動更新することを諦めている方が多くいらっしゃるのではないかと思います。そんな方々に朗報です。ついに突破口を見つけました。
PHP

Eloquentで条件をネストする方法

Laravel の Eloquent を使って、WHERE ( A OR B ) AND C を実装する方法を書いておきます。
PHP

Laravel Storageの接続失敗をphpunitでテスト

Storageを使ったファイル操作でエラーが発生した場合、リトライする機能を実装しますよね。そういった機能のテストで使えるTipsです。
PHP

explodeとarray_popは同時に使えない

phpのコーディング中に発生したエラーの対処法...explodeとarray_popを1行にまとめていると、エラーが発生してしまいました。
Docker

Docker + Laravel memory_limit 変更

Docker上で動かしているphpのメモリ上限が変わらず、すぐに「Allowed memory size of xxxxxx bytes exhausted」が発生してしまうーなんて人に見てほしいです
PHP

Laravel + MySQL Partition

Laravel + MySQL でPartitionを使用した際にハマったことをメモ。from句の指定箇所でエラーが出てもがいたので、同じような人の役に立てば。。。incorrectってエラーが出たらこうすれば突破できます。
PHP

[Laravel]toSql()で出力したSQLログのプレースホルダーを埋める

Eloquentを使っている場合、toSql()メソッドで生成したクエリを確認できることは広く知られていますが、この状態ではプレースホルダーに「?」が書かれているだけで、パラメータを確認できません。ましてや、そのままクエリを実行してみるなんてこともできません。getBindings()でパラメータを取得することもできますが、パラメータの数が増えるとなかなか大変な作業になってしまいますよね。ただ、SQLを確認したいだけなのに。。。そういう時はツールを作りましょう。
PHP

maatwebsite/excel 複合keyを持つmodelを使うとmb_strpos() expects…

maatwebsite/excel でCSV出力を簡単に実装できるのですが、一つ弱点というかハマったところがあったので、共有しておきます。CSV出力用のクエリを構成する際にmodelを単体で使用する。且つ、そのmodelが複合KEYを持つとmb_strpos() expects .... というエラーが発生します。どうやら、Model.phpの内部処理で主KEYの情報を取得する処理で、文字列を期待しているところに、(複合KEYなので)配列が渡されることで、エラーが発生すると。。。対策としては、Modelを使用しないでデータ抽出のクエリを組めば大丈夫でした。
PHP

複数階層の連想配列を1次配列へ変換

連想配列の中にさらに配列を持つオブジェクトを1次配列に変換する方法です。