$this->Samples->find('all');上記の取得結果なしについて、CakePHP2まではempty($samples)でtrue(=空配列)なら結果なしと判定できてましたが、CakePHP3では正しく判定できません。CakePHP3ではisEmpty()を使用します。($samples->isEmpty()でtrueなら結果なし)マジックメソッド/動的なFinderのfindBy*を使った場合も同様です。findBy()で結果取得後に結果を使用する場合はfirst();をコールする必要があります。$sample['name'];}findBy*とfindAllBy*の違い色々なサイトでfindBy*は結果を1行で返すと書いてありますが、CakePHP3.xでは間違いになります。findBy*も条件一致したデータを全て返すため、findAllBy*と同じになります。公式ドキュメントでも同じと記載されています。あなたはそれらの呼び出しを改造する必要があります。オブジェクトを返します。メソッドを使用する必要があります。メソッドの変更とあります。findAllBy*で呼び出してもfindBy*が使用されているんじゃないかな?また、今後はfindBy*で記述しておくべきですね。コメントをキャンセルメールアドレスが公開されることはありません。*サイト前の記事CakePHPのWebAPIで正常終了時なのにHTTP500が返されていた次の記事CakePHPでビューの共通部分を別ファイルに記述する執筆者のことかもめ元フリーランスのSE、PG。忘れやすい性格のため備忘録として色々残していきます。