ニュース

EC-CUBE 3.0.12 (PostgreSQL 9.0以下 環境下のみ)で発生する、商品一覧表示の不具合に関しまして(2016/11/02)

2016/10/31にリリースされた、EC-CUBE 3.0.12の一部環境(データベースがPostgreSQL9.0以下環境)にて、商品一覧表示に関する不具合が発生しております。
該当する環境の方は、3.0.12のご利用は今しばらくお待ちいただけますようお願いいたします。
なお、修正方法は以下に記載しておりますので、合わせてご確認ください。

# 対象となる環境
以下のデータベースを利用している環境で発生します。

・PostgreSQL 8.4
・PostgreSQL 9.0

# 発生する事象
商品一覧ページにアクセスするとシステムエラーが発生します。

デバッグモードの場合、以下のようなエラーが表示されます。
====
DriverException in AbstractPostgreSQLDriver.php line 91:
An exception occurred while executing 'SELECT d0_.product_id AS product_id0, d0_.name AS name1, d0_.note AS note2, d0_.description_list AS description_list3, d0_.description_detail AS description_detail4, d0_.search_word AS search_word5, d0_.free_area AS free_area6, d0_.del_flg AS del_flg7, d0_.create_date AS create_date8, d0_.update_date AS update_date9, MIN(d1_.price02) AS sclr10, d0_.creator_id AS creator_id11, d0_.status AS status12 FROM dtb_product d0_ INNER JOIN dtb_product_category d2_ ON d0_.product_id = d2_.product_id INNER JOIN dtb_category d3_ ON d2_.category_id = d3_.category_id AND (d3_.del_flg = 0) INNER JOIN dtb_product_class d1_ ON d0_.product_id = d1_.product_id AND (d1_.del_flg = 0) WHERE (d0_.status = 1 AND d2_.category_id IN (?) AND d0_.product_id IN (?)) AND (d0_.del_flg = 0) GROUP BY d0_.product_id ORDER BY sclr10 ASC, d0_.product_id DESC' with params [x, y]:


SQLSTATE[42803]: Grouping error: 7 ERROR: column "d0_.name" must appear in the GROUP BY clause or be used in an aggregate function
====

# 修正方法について
src/Eccube/Repository/ProductRepository.php
112行目の

$qb->groupBy('p.id');



$qb->groupBy('p');

に修正してください。

修正差分
https://github.com/EC-CUBE/ec-cube/pull/1906/commits/9f6283550b1c791501c609e4df0000146a99b2be


# 修正版のリリース予定につきまして
2016/11/7の週に、3.0.12-p1として上記の修正を行ったバージョンをリリースいたします。

(追記 2016年11月7日 11:00)
2016年11月7日 10:00 本件の対応を行った最新バージョン「EC-CUBE 3.0.12-p1」をリリースいたしました。
http://www.ec-cube.net/download/

この度はご不便をおかけし、誠に申し訳ございません。

(2016年11月2日 EC-CUBE運営チーム)

EC-CUBE® DemoSite

デモサイトで体験

EC-CUBE® Download

無料ダウンロード

最新版 Ver 3.0.16

最新ニュースやECノウハウをお届けします