質問: win10 cakephp3.7 MySQLの中身は Usersテーブルが id,pw commentsテーブルが users_id,commentになっております。 あまり詳しく理解できていないので解説などいただければと思います。 大変わかりにくい質問かと思いますがよろしくお願いいたします。
回答: UserController.php は(CakePHP の bake ツールを使って自動生成したなら)、$this->Users を経由して Users テーブルへアクセスできます。 ではそれ以外のテーブルへのアクセスをしたい場合は、というと、 1. コントローラーの initialize() の中で、loadModel() を使う これをやると $this->{テーブル名} でアクセスできるようになります。 2. コントローラー内で Users にアクセスする際に、Comments テーブルを contain() ないし join() する Comments テーブルが Users テーブルとリレーションしていることが前提となります。特に CakePHP の規約に従ったテーブル設計である場合は、自動的にリレーションが行われます(これも bake ツールでモデルを自動生成するときに行われます) 今回の例だと自動生成したなら自動設定されているはずです。 あとはまあ、CakePHP クックブックを読みましょう。