前提・実現したいこと
他テーブルと結合して、他テーブルのカラムで取得条件を設定したい。
公式ドキュメントを見ているのですが、containとinnserjoinの使い方がいまいちよくわかっていません。
テーブル情報
Users
|id|name|password|role|
|:--|:--:|--:|
Articles
|id|user_id|color_id|title|body|created|modified|
|:--|:--:|--:|
Colors
|id|name|color1|color2|color3|created|modified|
|:--|:--:|--:|
該当のソースコード
PHP
1//ArticlesController.php 2//userのロール条件で取得 3$articles = $this->Articles->find('all')->contain(['users','colors'])->where(['role' => 1]); 4$this->set('articles', $articles); 5 6
これをすると、Error: Call to undefined method App\Controller\ArticlesController::where() と出ます。
なぜwhereが使えなくなってしまったのでしょうか。
あなたの回答
tips
プレビュー