質問 > フロント機能 > レビュー管理プラグインを商品一覧の検索条件に追加したいと思っております。 |
フロント機能
フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
espld |
投稿日時: 2020/7/31 17:02
対応状況: −−−
|
新米 登録日: 2020/7/31 居住地: 投稿: 1 |
レビュー管理プラグインを商品一覧の検索条件に追加したいと思っております。 ▼テンプレート
[EC-CUBE]4.0.3 [レンタルサーバ]GMO VPS [OS]CentOS 8 [PHP]7.3.18 [データベース]MYSQL 8.0.17 [WEBサーバ]Apache 2.4.37 [ブラウザ]クローム 84.0.4147.105 [導入プラグインの有無]商品レビュー管理プラグイン [カスタマイズの有無] ECキューブの改修は初めての者です。 レビュー管理プラグインで取得している、星の数、平均レビュー点数の項目を商品一覧の検索条件に追加したいと思っています [現象] ProductRepository.phpのgetQueryBuilderBySearchData中で $subQuery = $this->createQueryBuilder('\Plugin\ProductReview4\Entity\ProductReview') ->select('r.Product ,r.avg(r.recommend_level) as recommend_avg, count(r.id) as review_count') ->groupBy('r.Product'); こちらでまずはレビューの星の数と平均をとって、 $qb = $this->createQueryBuilder('p'); $qb->andWhere('p.Status = 1'); こちらの下にleftjoinで追加をして検索項目を追加したいと思っています。 $qb->leftJoin( '('.$subQuery->getDQL().')' , 'r', \Doctrine\ORM\Query\Expr\Join::WITH, 'p.id = r.product_id' ); こちらの作ってみると、 SELECT p, r.recommend_avg as HIDDEN recommend_avg, r.review_count as HIDDEN review_count , MIN(pc.price02) as HIDDEN price02_min FROM Eccube\Entity\Product p LEFT JOIN (SELECT r.Product ,r.avg(r.recommend_level) as recommend_avg, count(r.id) as review_count FROM Eccube\Entity\Product \Plugin\ProductReview4\Entity\ProductReview GROUP BY r.Product) r WITH p.id = r.Product INNER JOIN p.ProductClasses pc WHERE p.Status = 1 AND p.id IN(:productid) AND pc.visible = true GROUP BY p.id ORDER BY price02_min ASC, p.id DESC デバックモードで上記のようなコードがQueryExceptionで表示されておりました。leftjoinの形は作りたい形にはなっておりますが、エラーが表示されてしまいます。 上記のような形で正常に表示させるにはどのようにしたらよろしいかお知恵をお借りしたいと思い、投稿をさせて頂きました。 何卒よろしくお願いいたします。 |
フラット表示 | 前のトピック | 次のトピック |
題名 | 投稿者 | 日時 |
---|---|---|
» レビュー管理プラグインを商品一覧の検索条件に追加したいと思っております。 | espld | 2020/7/31 17:02 |
Re: レビュー管理プラグインを商品一覧の検索条件に追加したいと思っております。 | umebius | 2020/7/31 19:33 |