開発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.19CakePHP3.xCakePHP4
CakePHP[CakePHP]IN句を使う場合はwhere()を使うな!whereInList()を使え 通常、IN句を使って指定のIDのレコード一覧を取ってくるには$this->Users->find('all')->whre();とすればよいのですが、$userListが空の場合エラーになってしまいます。従来は$userListの存在チェッ...2022.11.17CakePHPCakePHP3.xCakePHP4
CakePHP[CakePHP4]ModelをcontainしたらCannot convert value of type array to string になる場合 CakePHP4であるモデルをcontain()で追加したら、下記のエラーになりましたCannotconvertvalueoftypearraytostring原因テーブルに複合PK使っていました。その場合、接続元のテーブルをどのカラムでb...2022.11.14CakePHPCakePHP4
CakePHP3.x[CakePHP]phinxlogと現状のDBが合ってない時の最終手段 なんか知らんが、カラムがないって言われる・・・Error:SQLSTATE:Columnnotfound:1054Unknowncolumn'hogehoge_id'in'whereclause'確かにテーブルにはないんだけど、migrat...2022.01.17CakePHP3.xCakePHP4
CakePHP3.x[CakePHP4]どこでもloadModel~ コントローラー以外でもModelを使いたい場合ってありますよね?え?使うなって。でもコンソールとかコンポーネントとかで使いたい場合あるでしょう?そんなときの方法です。環境CakePHP4(たぶんCakephp3も同じ)方法traitを使って...2021.02.28CakePHP3.xCakePHP4
CakePHP4Queryビルダーに渡す無名関数でエラー Queryビルダーに渡す無名関数で下記のようなエラーが出る場合。Argument1passedtoApp\Controller\コントローラー名Controller::App\Controller\{closure}()mustbeanin...2021.02.26CakePHP4
CakePHP4ErrorControllerでログインユーザー情報が取得できない。 AuthenticationComponent2.xでErrorControllerでログインユーザー情報が取得できない問題に直面しました。エラー画面でもユーザー情報を表示するためにログイン情報が欲しいのだけなのですが、$this->Aut...2021.02.25CakePHP4
CakePHP4Entityを手動で書き換えたら保存されない場合は? CakePHPのEntityの仕組みは、わかれば便利なんですが、知らないとちょっと困る場合が多いです。patchEntity()を通してEntityを生成する場合は問題ないのですが、手動でEntityを書き換えた場合はいろいろハマるポイント...2021.02.25CakePHP4
CakePHP4自動生成されたマイグレーションファイルがマイグレートできない。 自動生成されたマイグレーションファイルがマイグレートできませんでした。エラーはこんな感じPDOException:SQLSTATE:Syntaxerrororaccessviolation:1067Invaliddefaultvaluefo...2021.02.24CakePHP4
CakePHP4モデルに存在しないフィールドのヴァリデーション モデルに含まれていないカラムのヴァリデーションをどうするかという問題があります。ヴァリデーションを書いたとしても、Entytyをインスタンス化する過程でブロックされてしまうので意味がありません。モデルがないフォームのヴァリデーションを行うに...2021.02.18CakePHP4
CakePHP3.x[CakePHP]composer起動時に出る警告メッセージ composerでCakePHPをインストールしたらこんなメッセージがActionrequiredTheCakePHPplugininstallerv1.3+nolongerrequiresthe"post-autoload-dump"ho...2020.12.11CakePHP3.xPHP開発
CakePHP3.x[CakePHP3]ビヘイビア内で呼び出し元のモデルにアクセスするには? モデルの共通処理をビヘイビアで管理すると、重複した余計なコードを書かずに済みますが、ビヘイビア内で呼び出し元のモデルにアクセスするにはどうしたらよいか?バージョンCakePHP3.x普通に$thisでアクセスできるのかなと思って・・・cla...2019.08.23CakePHP3.x
CakePHP3.x[CakePHP3]検索プラグインで複数カラムをLike検索する 以前紹介したCake3で検索プラグイン(friendsofcake/search)を使うですが、複数カラムを横断してLIKE検索する方法がなかったのでやってみました。バージョンCakePHP3.72019.07.02CakePHP3.x
CakePHP3.x[CakePHP3.7]Cookieの仕様変わりすぎだろ Cookieを使おうと思っていろいろ調べたのだがなんだかわけがわからないのでまとめた。CakePHP3.7をベースに、過去のバージョンでの仕様をまとめています。2019.06.18CakePHP3.xPHP日本語の情報
CakePHP3.x[CakePHP3]検索プラグインが動かないパターン 以前紹介した、Cake3で検索プラグイン(friendsofcake/search)を使うですが、うまく動かない場合があるようで、メモバージョンCakePHP3.72019.05.21CakePHP3.x
CakePHP3.x[CakePHP3]Call to a member function toArray() on null 発生する件 CakePHP3.2系で検証なんか条件を付けて最初の1件目を配列で取得したいといことで、以下のような感じで書きました$data=$this->Model名->find('all')->where()->first()->toArray();...2019.04.16CakePHP3.xPHP日本語の情報
CakePHP3.x[CakePHP3]Modelがモデル名?テーブル名?単数形?複数形? CakePHP3でModelの指定方法や、find()して帰ってくるデータのフォーマットがCakePHP3依然と大きく変わりました。めちゃくちゃ混乱します。ちょっとまとめました。バージョンCakePHP3.x2019.04.11CakePHP3.x
CakePHP3.x[CakePHP3]Modelで後から追加したカラムだけ保存できない場合 あるモデルで、特定のカラムだけ保存できない。なんでやー。うーん。これ後から追加したやつだな。CakePHP3.x2019.04.10CakePHP3.x
CakePHP3.x[CakePHP3]beforeFilter(Event $event)を書くとエラーになる CakePHPのお約束として、コントローラーの各メソッドでレンダリング前の共通の処理としてbeforeFilter()メソッドをオーバーライドさせますが、CakePHP3だと、なぜかこんなエラーが…2019.04.10CakePHP3.x