Laravel あえてEager Loadingしないほうが早い場合 Laravelでリレーション先のレコードを一緒に取得したい場合。リレーション先取得のクエリが大量に発行されてしまうのを防ぐには、withメソッドを使います。 withメソッドを使うことで複数レコードの取得でも1回のクエリでリレーションが取得... 2024.09.21 LaravelPHP
開発 [Next.js]VSCodeでフルスタック(サーバー&クライアント同時)デバッグ方法 Next.jsをVSCodeでデバッグする方法ですが、公式がちょっとわかりにくかったのでメモを残しておきます。 まず、公式サイトに設定ファイルがありますのでそのリンクを書いておきます。 { "version": "0.2.0", "conf... 2024.09.16 開発
Laravel [Laravel] Eloquent(QueryBuilder)で使うINDEXを強制する方法 MySQLなどのDBではIndexの有無によってパフォーマンスがかなり変わります。 Indexは自動的に最適なものが選択されるはずですが、気まぐれでおかしなIndexが利用されて動作が極端に遅くなってしまうことがあります。 そんな時はFOR... 2024.09.09 Laravel開発
開発 Udemyアプリ版の講座ダウンロードができない Udemyアプリ版を使うと、動画をストレージにダウンロードできるので、外出先でネットワークが遅かったりオフラインでも見ることができます。 ですが、出かける前にダウンロードしておいて、電車の中で聞こうとおもってみてみたらダウンロードされてなか... 2024.07.03 開発
Windows マザーボード交換時の再ライセンス認証 マザーボード交換時の再ライセンス認証にはまりました。 以前は電話したら何とかなったのですが、電話での認証は現在ないらしい。 いろいろ試行錯誤しているうちにできちゃった感じで画面キャプチャーもしていないのだが、ライセンス認証画面でトラブルシュ... 2024.03.28 Windows開発
Laravel [Laravel]queryのSQLを得る方法 Queryオブジェクトの発行予定のSQLを得る方法です。 $sqlDump = preg_replace_array('/\?/', array_map(function($n) { return "'".$n"'"; }, $query-... 2024.03.25 Laravel
CakePHP [CekePHP5]Tableクラスのメソッド存在チェック こちらの記事でコントローラーのメソッドの存在チェック方法について書きましたが、Tableクラスでメソッドが存在するか調べる方法についてはまた事情が違うようでした。 Tableクラスに実装したメソッドに関してはmethod_exists()で... 2024.02.08 CakePHPCakePHP5
CakePHP [CakePHP5]Modelイベントがなくなってる? レコードの保存時などのイベント取得でCakePHP4以前ではafterSave()とかbeforeFind()とか、そいういうメソッドをTableクラスに定義するとそこでイベントを受け取ることができました。 ですが、CakePHP5でやって... 2024.01.28 CakePHPCakePHP5
CakePHP [CakePHP]メール送信で”Could not send email: unknown” CekePHP5でメール送信したら "Could not send email: unknown" という謎のメッセージが出る。 原因 EmailTransportのclassNameの設定を確認する。 app.php(もしくはapp_lo... 2024.01.27 CakePHPPHP
CakePHP CakePHPがひどすぎる件 久々にCakePHP触ったんだけど、5になってリファレンスのインチキ度が増していますので、全く信用できません。 CakePHP4とかのときに削除された機能がそのまましれっと書いてある。 とにかく、名前が変わっただけとか無意味な変更がおおくて... 2024.01.23 CakePHP
CakePHP [CakePHP5]CSRF無効化 CakePHP5でCSRFを無効化する方法がハマったのでメモ。 結論 先に結論だけ述べると、FormProtectionComponentを使え ダウトな情報その1 SecurityComponent はCakePHP4.2ぐらいのころにな... 2024.01.23 CakePHP
CakePHP オブジェクト内のプロパティー存在チェックに引っかからない場合 CakePHP5/PHP8.1でコンポーネントがロードされているかどうか調べるために if(isset($this->Auth)){ } というようなコードを書いたが、なぜかfalseになる。 その他のmethod_exists()などの類... 2024.01.21 CakePHPPHP
開発 [CakePHP5]Since 5.0.0: Using options array for the `find()` call is deprecated. Use named arguments instead. CakePHP5ではTable::find()の書き方がかわったようです。 Since 5.0.0: Using options array for the `find()` call is deprecated. Use named ar... 2024.01.20 開発
CakePHP [CakePHP5]Security.saltが取得できない。 CakePHP5でSecurity.saltを利用したかったのですが、なぜか取得できません。 設定してあるのになぜだろう?と、30分ぐらい悩んだのですが原因判明 config/bootstrap.php で消してました。 Security:... 2024.01.19 CakePHPCakePHP4
CakePHP CakePHP5でコードをきれいに保つ コードのスタイルを統一しておくことは、品質の良いコードを保つのに必須要件です。 ですが、コーディング規約をいちいち気にしながらコードを書くのは非常にストレスになります。 ということで、できるところは機械に任せちゃいましょう。 CakePHP... 2024.01.15 CakePHPCakePHP4
docker-compose Composer で処理中にタイムアウトになるのを防ぐ docker-compose系のコマンドが長くてめんどくさいのでcomposer.jsonにscriptを書いたのですが、いつの間にか強制終了されてしまいます。 composerで長い時間の処理をさせようとすると、300秒でタイムアウトして... 2024.01.12 docker-composePHP
開発 [CakePHP]Warning: Cannot modify header information – headers already sent ..がどうしても解決できない時 他人が作った古ーいシステムをメンテナンスする時に、 Warning: Cannot modify header information - headers already sent .. がでてRedirectが動かなかったり、画面が真っ白... 2024.01.11 開発
開発 docker内でcomposerをインストールする docker内でcomposerを使えるようにしたい場合。 インストールコマンドをRUNにかいてもいいんですが、もっと簡単にDockerFile内で以下のように書けばOK。 COPY --from=composer /usr/bin/com... 2024.01.09 開発
Laravel LaravelでEloquentのSQLを確認する Queryビルダーで作ったSQL文を確認したいときにはtoSQL()メソッドを使います。 プレースホルダーの値も取得したい場合はgetBindings()メソッドを使います。 $query = User::where('id',1); va... 2023.12.14 Laravel
Laravel Laravelで複数レコードを一括で更新する Laravelで1度のQueryで複数のレコードを一括で更新したい時は,upserts()メソッドを使います。 Flight::upsert([ , ], , ); 第1引数に配列 第2引数に検索キー 第3引数に変更したいカラム を指定しま... 2023.12.05 Laravel