CakePHP4

BootStrap

CakePHP4にBootstrap4を組み込んでみる

CakePHP4にBootstrap4を組み込む方法はいくつかあるかと思います。 単純に、Bootstrapをダウンロードしてきて、webrootに配置。layoutファイルなどで読みこませるだけでも使うことは可能ですが、今回はプラグイン...
CakePHP3.x

コントローラーから直接画像を出力させる

今回は、コントローラーから画像を出力させる方法をご紹介します。 画像をファイル出力してリンクさせる方法もありますが、一時的な画像の場合は後処理が面倒です。 そこで今回は直接レスポンスでバイナリを返すという方法をご紹介します。 なお...
CakePHP3.x

[CakePHP4]途中で追加したカラムが保存されない

Modelの設計を行っているときに、途中でカラムを追加するというようなことはよく発生すると思います。 ですが、たまに追加したカラムがなぜか保存されないという問題が発生します。 この問題は、だいたいはEntityの$_accessib...
CakePHP3.x

[CakePHP4]migration_diff しても差分が認識されない

テーブル定義を直接変更した後にmigration_diffコマンドを使うと差分を認識してMigrationファイルを自動生成してくれる便利な機能があります。 ./bin/cake bake migration_diff (設定名) ...
CakePHP3.x

エラー画面のレイアウトを変更する

CakePHP4でレイアウト、つまり大枠の部分のデザインテンプレートは、デフォルトでは template/layout/default.php が使われます。 これは、レイアウトファイルといわれていますが、デフォルトのレイアウトファイル...
CakePHP3.x

[CakePHP4]Queryからの日付取得

CakePHP4でqueryからカラムの日付をstrtotime()で変換しようとしたら以下のようなエラーになります。 strtotime() expects parameter 1 to be string, object given ...
CakePHP3.x

CakePHP4で動的生成しながらファイルダウンロード

CakePHP4でのファイルのダウンロード方法を解説します。 CakePHP3/4系での記事になります。 通常の方法 まずは、簡単なデータを一括で生成してからダウンロードさせる方法です。 $body = "あいうえお"; ...
CakePHP3.x

サーチプラグインでカラムを連結して検索したい

friendsofcake/search を使っての検索は非常に楽なんですが、いろいろわからない点が多いんですよね。 カラムを連結して検索する要件があたのですが、手間取ったので記事にしました。 CakePHP2の場合 CakePHP2...
CakePHP3.x

count() メソッドは limit、 offset、 page 句を無視する?

CakePHP4で、データのエクスポートをするためにlimit()とpage()を組み合わせてcount()で残りの数を見ながら出力していたのだけど、なんか終了しない。 むむむ?と思って調べてみたら。 count...
CakePHP4

[CakePHP4.x]複数認証の実装方法

CakePHP4で認証システムを実装するのは若干以前より面倒になった感があります。 通常の実装方法に関しては、こちらで以前記事にしました。 一般的な実装方法についてわからない場合はcakebookの下記のページを参照すればよいかと思いま...
CakePHP3.x

CakePHP4のselectの一括カラム登録方法

以前、CakePHPのクエリビルダ―でselectでカラムを登録すると他が消えてしまって、全部登録しなおさなくちゃいけなくてめんどくさいという記事を書きました。 でも、その後しらべたら、あんなことしなくても簡単にsel...
CakePHP4

[CakePHP4] Impossible to generate condition with empty list of values for field ってなに

Impossible to generate condition with empty list of values for field (モデル名.カラム名) こんなエラーが発生しましたが、コードの位置と発生した場所が違うのでいまいちわ...
CakePHP4

helperなどでのURL指定方法の命名規則

CakePHP4でprefixを出したくてこんな感じに書いたらエラーになりました。 $this->Url('link-title', ); エラー内容 A route matching "array ( 'prefix'...
CakePHP

==と===の罠

PHPは変数の型のチェックがいい加減なんで、仕様をよく理解していないと変なところでハマったりします。 CakePHPのコントローラー処理で、仮に <?php //コントローラーで public function view($u...
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...
CakePHP3.x

$this->request->is()が反応しない

CakePHP4で編集画面の作成を行っていたらなぜか$this->request->is()に反応してくれなくて一向にデータの更新処理に行かない。 なんでだ…。と思ったら 原因 単なるケアレスミス。 フォームにプライマリ...
タイトルとURLをコピーしました