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_local.p... 2024.01.27 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 arg... 2024.01.20 開発
CakePHP [CakePHP5]Security.saltが取得できない。 CakePHP5でSecurity.saltを利用したかったのですが、なぜか取得できません。設定してあるのになぜだろう?と、30分ぐらい悩んだのですが原因判明config/bootstrap.php で消してました。Security::se... 2024.01.19 CakePHPCakePHP4
CakePHP CakePHP5でコードをきれいに保つ コードのスタイルを統一しておくことは、品質の良いコードを保つのに必須要件です。ですが、コーディング規約をいちいち気にしながらコードを書くのは非常にストレスになります。ということで、できるところは機械に任せちゃいましょう。CakePHP5でコ... 2024.01.15 CakePHPCakePHP4
開発 CakePHPでUNIONを使う Unionとは、複数のSELECTステートメントの結果を1つの結果セットにまとめるSQL構文です。本稿では、CakePHPでUnionを使用する方法について説明します。Unionを使用する場合の注意点Unionを使用するためには、データベー... 2023.03.08 開発
CakePHP3.x [CakePHP]patchEntity()で渡したデータがNULLになる件 CakeでpatchEntity()で渡したカラムの中身がなぜかNULLになってしまう問題が発生。原因は、渡したデータの変数の型やフォーマットが、DBのカラムの型と一致していなかったり、変換できない場合、NULLになるというものでした。発生... 2022.11.19 CakePHP3.xCakePHP4
CakePHP [CakePHP]IN句を使う場合はwhere()を使うな!whereInList()を使え 通常、IN句を使って指定のIDのレコード一覧を取ってくるには$this->Users->find('all')->whre();とすればよいのですが、$userListが空の場合エラーになってしまいます。従来は$userListの存在チェッ... 2022.11.17 CakePHPCakePHP3.xCakePHP4
CakePHP [CakePHP4]ModelをcontainしたらCannot convert value of type array to string になる場合 CakePHP4であるモデルをcontain()で追加したら、下記のエラーになりましたCannot convert value of type array to string原因テーブルに複合PK使っていました。その場合、接続元のテーブルを... 2022.11.14 CakePHPCakePHP4
CakePHP3.x [CakePHP]phinxlogと現状のDBが合ってない時の最終手段 なんか知らんが、カラムがないって言われる・・・Error: SQLSTATE: Column not found: 1054 Unknown column 'hogehoge_id' in 'where clause'確かにテーブルにはない... 2022.01.17 CakePHP3.xCakePHP4
CakePHP3.x [CakePHP4]どこでもloadModel~ コントローラー以外でもModelを使いたい場合ってありますよね?え?使うなって。でもコンソールとかコンポーネントとかで使いたい場合あるでしょう?そんなときの方法です。環境CakePHP4(たぶんCakephp3も同じ)方法traitを使って... 2021.02.28 CakePHP3.xCakePHP4
CakePHP4 Queryビルダーに渡す無名関数でエラー Queryビルダーに渡す無名関数で下記のようなエラーが出る場合。Argument 1 passed to App\Controller\コントローラー名Controller::App\Controller\{closure}() must ... 2021.02.26 CakePHP4
CakePHP4 ErrorControllerでログインユーザー情報が取得できない。 Authentication Component 2.xでErrorControllerでログインユーザー情報が取得できない問題に直面しました。エラー画面でもユーザー情報を表示するためにログイン情報が欲しいのだけなのですが、$this->A... 2021.02.25 CakePHP4
CakePHP4 Entityを手動で書き換えたら保存されない場合は? CakePHPのEntityの仕組みは、わかれば便利なんですが、知らないとちょっと困る場合が多いです。patchEntity()を通してEntityを生成する場合は問題ないのですが、手動でEntityを書き換えた場合はいろいろハマるポイント... 2021.02.25 CakePHP4
CakePHP4 自動生成されたマイグレーションファイルがマイグレートできない。 自動生成されたマイグレーションファイルがマイグレートできませんでした。エラーはこんな感じPDOException: SQLSTATE: Syntax error or access violation: 1067 Invalid defau... 2021.02.24 CakePHP4
CakePHP4 モデルに存在しないフィールドのヴァリデーション モデルに含まれていないカラムのヴァリデーションをどうするかという問題があります。ヴァリデーションを書いたとしても、Entytyをインスタンス化する過程でブロックされてしまうので意味がありません。モデルがないフォームのヴァリデーションを行うに... 2021.02.18 CakePHP4
CakePHP3.x [CakePHP]composer起動時に出る警告メッセージ composerでCakePHPをインストールしたらこんなメッセージがAction requiredThe CakePHP plugin installer v1.3+ no longer requires the "post-autolo... 2020.12.11 CakePHP3.xPHP開発
CakePHP3.x [CakePHP3]ビヘイビア内で呼び出し元のモデルにアクセスするには? モデルの共通処理をビヘイビアで管理すると、重複した余計なコードを書かずに済みますが、ビヘイビア内で呼び出し元のモデルにアクセスするにはどうしたらよいか?バージョンCakePHP3.x普通に$thisでアクセスできるのかなと思って・・・cla... 2019.08.23 CakePHP3.x
CakePHP3.x [CakePHP3]検索プラグインで複数カラムをLike検索する 以前紹介したCake3で検索プラグイン(friendsofcake/search)を使うですが、複数カラムを横断してLIKE検索する方法がなかったのでやってみました。バージョンCakePHP3.7 2019.07.02 CakePHP3.x