事象 デプロイ用のユーザで Node.js の別バージョンを入れようとしたらなぜか N/A のように存在しない扱いになってしまい、インストールができませんでした。 $ nvm install lts/carbon Version '' (with LTS filter 'carbon') not found - try `nvm ls-remo…
タイトルは自戒です。 概要 日本語(マルチバイト文字)に対してsubstr()を使用してDB保存時にエラーになってしまった… ※ DBは Postgresql です ERROR: invalid byte sequence for encoding "UTF8": 0x8b ちゃんとエラーになるんですね。賢い… 対処 日本語など…
Laravel のバージョンを 5.X => 8.X にアップデートした際に FormRequest のバリデーションルールの仕様が微妙に変わっていてテストがコケました。 2点だけですがせっかく調べたので書き残しておきます。 どこを調べたのか ドキュメント見ても1行でさらっと…
ディレクトリ内の全ファイル削除 rmdir()はディレクトリが空でないと使えないため、事前にディレクトリ内のファイルをすべて削除しようと思い PHP のマニュアルを調べていました。 するとunlink()のページのコメント に下記のようなコードを発見。 array_map…
問題 以下のようなコードで catch で拾っているはずと思っていたエラーがそもそも拾えていませんでした。 try { // ここで関数の型不一致エラー発生 } catch (Exception $e) { // キャッチしたエラーをログに出力 } 原因 関数の型が不一致だった場合に発生す…
Laravel にはディレクトリごと中身のファイルが削除できるdeleteDirectoryメソッドがあります。 ファイルストレージ 8.x Laravel deleteDirectory メソッドを使用して、ディレクトリとそのすべてのファイルを削除できます。 ドキュメントにもこのように書い…
Laravel で「ファイルをダウンロードした後はそのファイルは削除」する処理を実装したときにテスト方法にちょっと手間取ったのでメモです。 前提 Laravel では以下のように書けばファイルをダウンロード後、そのファイルを削除してくれます。 return respons…
オブジェクトの配列の中から日付の最大値(最も遅い日)を取得するときに Lodash を使ったら一発だったのでメモ。maxByを使います。 lodash.com 以下のようにプロパティとして日付を持っているオブジェクトの配列があるとします。 今回やりたかったのはこの中…
Laravelでモデルにリレーションを設定して、withメソッドでその参照先を引いてきてくれる機能、Eager Loadingっていうんですね。 laravel.com これを複数設定していたり、参照先で引いてきた先でもさらにリレーションが設定してあって(ネストでいいんですか…
プログラムを学習したときに調べたことや躓いたことなどを雑多にまとめていきたいと思います。読みやすさは二の次で。