cakephp

開発

CakePHPでUNIONを使う

Unionとは、複数のSELECTステートメントの結果を1つの結果セットにまとめるSQL構文です。本稿では、CakePHPでUnionを使用する方法について説明します。 Unionを使用する場合の注意点 Unionを使用するためには、デ...
CakePHP3.x

[CakePHP]patchEntity()で渡したデータがNULLになる件

CakeでpatchEntity()で渡したカラムの中身がなぜかNULLになってしまう問題が発生。 原因は、渡したデータの変数の型やフォーマットが、DBのカラムの型と一致していなかったり、変換できない場合、NULLになるというものでした。...
CakePHP

[CakePHP]IN句を使う場合はwhere()を使うな!whereInList()を使え

通常、IN句を使って指定のIDのレコード一覧を取ってくるには $this->Users->find('all')->whre(); とすればよいのですが、$userListが空の場合エラーになってしまいます。 従来...
CakePHP

[CakePHP4]ModelをcontainしたらCannot convert value of type array to string になる場合

CakePHP4であるモデルをcontain()で追加したら、下記のエラーになりました Cannot convert value of type array to string 原因 テーブルに複合PK使っていました。 その...
CakePHP3.x

[CakePHP]phinxlogと現状のDBが合ってない時の最終手段

なんか知らんが、カラムがないって言われる・・・ Error: SQLSTATE: Column not found: 1054 Unknown column 'hogehoge_id' in 'where clause' 確かに...
CakePHP3.x

[CakePHP4]どこでもloadModel~

コントローラー以外でもModelを使いたい場合ってありますよね? え?使うなって。でもコンソールとかコンポーネントとかで使いたい場合あるでしょう? そんなときの方法です。 環境 CakePHP4(たぶんCakephp3も同じ) 方...
CakePHP4

Queryビルダーに渡す無名関数でエラー

Queryビルダーに渡す無名関数で下記のようなエラーが出る場合。 Argument 1 passed to App\Controller\コントローラー名Controller::App\Controller\{closure}() m...
CakePHP4

ErrorControllerでログインユーザー情報が取得できない。

Authentication Component 2.xでErrorControllerでログインユーザー情報が取得できない問題に直面しました。 エラー画面でもユーザー情報を表示するためにログイン情報が欲しいのだけなのですが、 $thi...
CakePHP4

Entityを手動で書き換えたら保存されない場合は?

CakePHPのEntityの仕組みは、わかれば便利なんですが、知らないとちょっと困る場合が多いです。 patchEntity()を通してEntityを生成する場合は問題ないのですが、手動でEntityを書き換えた場合はいろいろハマるポイ...
CakePHP4

自動生成されたマイグレーションファイルがマイグレートできない。

自動生成されたマイグレーションファイルがマイグレートできませんでした。 エラーはこんな感じ PDOException: SQLSTATE: Syntax error or access violation: 1067 Invalid...
CakePHP4

モデルに存在しないフィールドのヴァリデーション

モデルに含まれていないカラムのヴァリデーションをどうするかという問題があります。 ヴァリデーションを書いたとしても、Entytyをインスタンス化する過程でブロックされてしまうので意味がありません。 モデルがないフォームのヴァリデーシ...
CakePHP3.x

[CakePHP]composer起動時に出る警告メッセージ

composerでCakePHPをインストールしたらこんなメッセージが Action required The CakePHP plugin installer v1.3+ no longer requires the "post-au...
CakePHP3.x

[CakePHP3]ビヘイビア内で呼び出し元のモデルにアクセスするには?

モデルの共通処理をビヘイビアで管理すると、重複した余計なコードを書かずに済みますが、ビヘイビア内で呼び出し元のモデルにアクセスするにはどうしたらよいか? バージョン CakePHP3.x 普通に$thisでアクセスできるのかな...
CakePHP3.x

[CakePHP3]検索プラグインで複数カラムをLike検索する

以前紹介したCake3で検索プラグイン(friendsofcake/search)を使うですが、複数カラムを横断してLIKE検索する方法がなかったのでやってみました。 バージョン CakePHP3.7
CakePHP3.x

[CakePHP3.7]Cookieの仕様変わりすぎだろ

Cookieを使おうと思っていろいろ調べたのだがなんだかわけがわからないのでまとめた。 CakePHP3.7をベースに、過去のバージョンでの仕様をまとめています。
CakePHP3.x

[CakePHP3]検索プラグインが動かないパターン

以前紹介した、Cake3で検索プラグイン(friendsofcake/search)を使うですが、うまく動かない場合があるようで、メモ バージョン CakePHP3.7
CakePHP3.x

[CakePHP3]Call to a member function toArray() on null 発生する件

CakePHP3.2系で検証 なんか条件を付けて最初の1件目を配列で取得したいといことで、以下のような感じで書きました $data = $this->Model名->find('all')->where()-&...
CakePHP3.x

[CakePHP3]Modelがモデル名?テーブル名?単数形?複数形?

CakePHP3でModelの指定方法や、find()して帰ってくるデータのフォーマットがCakePHP3依然と大きく変わりました。 めちゃくちゃ混乱します。 ちょっとまとめました。 バージョン CakePHP3.x
CakePHP3.x

[CakePHP3]Modelで後から追加したカラムだけ保存できない場合

あるモデルで、特定のカラムだけ保存できない。なんでやー。 うーん。これ後から追加したやつだな。 CakePHP3.x
CakePHP3.x

[CakePHP3]beforeFilter(Event $event)を書くとエラーになる

CakePHPのお約束として、コントローラーの各メソッドでレンダリング前の共通の処理としてbeforeFilter()メソッドをオーバーライドさせますが、CakePHP3だと、なぜかこんなエラーが…
タイトルとURLをコピーしました