DoctrineのQueryBuilder(クエリビルダ)でhavingを使った絞り込みを行う時、下記のエラーが発生することがあります。

Cannot count query that uses a HAVING clause. Use the output walkers for pagination

ページネーションを行なっているフロント側の商品一覧ページでHavingやaddHavingを使うと上記のエラーが発生することがあります。
とはいえ、商品価格や販売個数などのAVERAGEやSUM、MIN、MAXで商品を絞り込みしたい場合もありますよね。

その時は、ページネーションの生成箇所でwrap_queryを使ってやるとエラーがなく実行できるようになります。
商品一覧ページのProductControllerであれば、元々のコードは下記のようになっています。

Eccube\Controller\ProductController::indexメソッド内のページネーションを生成している箇所

下のように書き直します。

これで正常にページネーションが動作するようになります。