CakePHP3でよく使うデバッグコードといえばpr()や$this->log()。だが、デバッグしたい箇所によってはこれが使えない場合もある。今回は筆者の経験上
「こういう時はこのデバッグコードを使うのが鉄板!」
と思われるデバッグコードを紹介する。検証したCakePHPのバージョンは3.6.13。
CakePHP3でよく使うデバッグコードといえばpr()や$this->log()。だが、デバッグしたい箇所によってはこれが使えない場合もある。今回は筆者の経験上
「こういう時はこのデバッグコードを使うのが鉄板!」
と思われるデバッグコードを紹介する。検証したCakePHPのバージョンは3.6.13。
先日CakePHP3でrename table文を発行したいニーズがあり、Migrationファイルでどう書けば良いかを調べたのでメモがてら残しておく。Phinxに定義されているメソッドを把握する必要があるため、Cakeの公式ドキュメントから具体的な解説を辿るのに少々時間がかかった。検証したCakePHPのバージョンは3.6.13、データベースはMySQL。
Tableクラスに定義可能なhasManyアソシエーションは、conditionsにて抽出条件を書くことが可能だ。普通はjoin先テーブルの特定のカラムの値で絞り込むとか単純なことをさせるのに使うが、たまたま
hasMany()でjoinさせたいテーブルの中で、特定のカラムが最大値のレコードだけをデフォルトで抽出したい
というニーズがあったので、これをどうにかしてhasMany()を定義する際に書けないかと思い調べてみたら方法があったのでシェアする。検証したCakePHPのバージョンは3.6.13。
CakePHP3でResultSetやCollectionにしたデータを配列に変換する際、基本的にはtoArray()を使うことが多いと思うが、時としてtoList()を使っている箇所もある。果たして両者の違いは何なのか調べてみた。検証したCakePHPのバージョンは3.6.13。
CakePHP2を嗜んでいる人だとよく間違いやすい実装の1つが今回のお題。
CakePHP3でもつい
find(‘list’)とselect([‘id”, ‘name’])等でやれば [key => value] で返せるだろう
って思ってたら、primary keyであるidはkeyとして返してくれるが、valueはselect()の指定では返してくれない。というわけで、どう実装をすれば良かったかをメモがてら残しておく。検証したCakePHPのバージョンは3.6.13。