バージョン選択

フォーラム

メニュー

オンライン状況

34 人のユーザが現在オンラインです。 (29 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 34
もっと...

サイト内検索

質問 > フロント機能 > レビュー管理プラグインを商品一覧の検索条件に追加したいと思っております。

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
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の形は作りたい形にはなっておりますが、エラーが表示されてしまいます。

上記のような形で正常に表示させるにはどのようにしたらよろしいかお知恵をお借りしたいと思い、投稿をさせて頂きました。

何卒よろしくお願いいたします。
umebius
投稿日時: 2020/7/31 19:33
対応状況: −−−
登録日: 2016/7/22
居住地: 東京日本橋
投稿: 1649
Re: レビュー管理プラグインを商品一覧の検索条件に追加したいと思っております。
r.avg(r.recommend_level)という書き方はできましたか?
avg(r.recommend_level)のような気がします。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBEペイメント

公式ストアEC-CUBE4系デザインテンプレート続々リリース中

統計情報

総メンバー数は64,370名です
総投稿数は97,211件です

投稿数ランキング

1
seasoft
7332
2
AMUAMU
2712
3
468
2484
4
nanasess
2088
5
umebius
1649
6
yuh
1612
7
red
1410
8
h_tanaka
1029
9
fukap
907
10
tsuji
863
11
shutta
835
12
tao_s
792
13 ramrun 789
14 karin 657
15 sumida 641
16
homan
633
17 DELIGHT 571
18
patapata
502
19
flealog
485
20 tonton 437


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.