CakePHP3.x

CakePHP3.x

CakePHP3.9/4でMySQLに接続しようとしたら「SQLSTATE[HY000] [2002] No such file or directory」が出る。

新規にCakePHPの環境をインストールしていて、なぜかデータベースに接続できず SQLSTATE No such file or directory というエラーがでてどうにもこうにも困りました。 せっかちな方は結論に飛んでください。 原...
CakePHP3.x

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

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

[CakePHP3]Cake3で検索プラグイン(friendsofcake/search)を使う

CakePHP3の検索プラグインとして、friendsofcake/searchが良く使われていると思いますが、CakePHP3.6で仕様が変わってしまいました。 CakePHPはこういうことがよくあるので困っちゃいますね。 変更点 こんな...
CakePHP

[2021年]プログラミング初学者にお勧めな言語・フレームワーク

現在はフレームワークなしでWebアプリケーションを組むことは必須になっています。 どのフレームワークを使うべきかの参考の一つとして記事を書いてみました。 PHPのフレームワーク多すぎ問題 RubyはRails一択なのですが、PHPはあまりに...
CakePHP3.x

[CakePHP3.7]関連したレコードのカウント

関連したレコードのカウント バージョン CakePHP 3.8
CakePHP3.x

[CakePHP3.x]cakephp3 タイムスタンプが入らない

カラムにcreatedやmodifiedがあると、自動的にタイムスタンプが入る機能があります。 当初、該当のテーブルには不要だったのですが、後から入れることになったので、カラムに追加して保存処理をやらせてみたのですが、なぜかタイムスタンプが...
CakePHP3.x

[CakePHP3.8]migration スナップショットで取得したマイグレーションファイルがマイグレートできない件

cakephp3.8+mysqlでマイグレーションファイルを作成中に不具合が起きました。 下記のコマンドで、現在DBに設定されているテーブルの状態でマイグレーションフィルを作成できます。 # bin/cake bake migration_...
CakePHP3.x

[CakePHP3.8]composer updateできなくなった

composer updateしたら、下記のようなエラーが出ました。 Package phpunit/phpunit-mock-objects is abandoned, you should avoid using it. No repl...
CakePHP3.x

[CakePHP3.x]CakePHP2にあったafterFind()やvirtualFiledsはどこに行った?

CakePHP2ではモデルのafterFind()メソッドで検索結果の整形を行うことができました。 なんですが、CakePHP3ではなくなってしまったようです。 (参考)afterFind イベントやバーチャルフィールドはありません
CakePHP3.x

CakePHP3で複合主キーを使う

CakePHP3が複数のプライマリキーを持つことができるようになったみたいなのだが、ずっと避けてきていましたが、ようやく使えそうなのでちょっといじってみました。
CakePHP3.x

CakePHP3+Bootstrap3でチェックボックスとかラジオボタンを横並びでいい感じで表示する

CakePHP3+Bootstrap3でフォーム部品を表示させようとするのだけど、チェックボックスとかが縦並びになったりイマイチ感が半端ない。 とりあえず、手っ取り早く横並びでいい感じに表示させようと試みてみました。
CakePHP3.x

[CakePHP3.8].envファイルで設定する

CakePHP3系で設定ファイルはconfig/app.phpで行いますが、config/.envファイルに設定を持たせて行う方法もあるようです。 CakePHP 3.8 (3系ならたぶん共通)
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]Url生成でprefixを無効にしたい

Prefixを設定して管理者用ページで $this->Html->link('ログイン',); というように書くと、 /admin/users/login に飛んでしまいますが、 /users/login に飛びたい場合
CakePHP3.x

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

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

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

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

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

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