前提・実現したいこと
CakePHP3.6.5を使用して商品購入システムを作っています。
Purchases->PurchaseDetails->ExhibitDetails->Products->Standsという構造の、
standsテーブルにあるidを指定してPurchasesモデルを取得することは可能でしょうか?
・PurchasesTableテーブルでは、からhasManyでPurchaseDetailsモデルにアソシエーション設定
・PurchaseDetailsTableでは、belongsToでExhibitDetailsモデルにアソシエーション設定
・ExhibitDetailsでは、belongsToでProductsモデルにアソシエーション設定
・Productsでは、belongsToでStandsモデルにアソシエーション設定
以下のソースですと、Database Errorが表示されてしまいます。
where句の指定の方法に問題があると思うのですが、ご教授お願いいたします。
初めての投稿で、CakePHP初心者のため勉強不足のことろもあり、不足な部分があるかと思いますがよろしくお願いします。
発生している問題・エラーメッセージ
Error: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '.Stands.id = '10')' at line 1
該当のソースコード
PHP
1$purchases = $this->Purchases->find('all')->where 2 (['PurchaseDetails.ExhibitDetails.Products.Stands.id' => $selectId])->contain 3 (['PurchaseDetails' => ['ExhibitDetails' => ['Products' => ['Stands']]]]);
試したこと
where句のところを、Stands.idにしてもダメでした。
回答1件
あなたの回答
tips
プレビュー