質問 > フロント機能 > 商品一覧の検索処理の変更について |
フロント機能
フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
BlackBox |
投稿日時: 2021/6/28 15:53
対応状況: 開発中
|
新米 登録日: 2021/6/28 居住地: 投稿: 2 |
商品一覧の検索処理の変更について ▼ テンプレート
[EC-CUBE] EC-CUBE 4.05 新規インストールか、等 [レンタルサーバ] サクラサーバー [OS] FreeBSD 9.1 [PHP] 7.4.19 [データベース] MySQL5.7 ▼ 質問内容 初めまして、お世話になります。つい先日より、EC-CUBEの導入を考えEC-CUBE内容を確認しているところです。 商品一覧の検索処理を改造したいと考えております。オリジナルでは、送信した1つのcategory_idにマッチした物を 出力する動作ですが、改造後は送信した複数のcategory_id全てにマッチした物のみを出力したいと考えております。 "ProductRepository.php"、"getQueryBuilderBySearchData"にて、categoryに関するSQLを構築しており、該当箇所の 変更が必要と考えてます。 やりたいSQLは以下のイメージとなるのですが、★1部の変更方法でつまづいております。 (★2は2行コメントアウトするのみと思っています) ★1の変更方法または、SQL文を直接実行する方法などありましたら、ご教授よろしくお願いします。 [改造前のSQL] : [省略] : FROM dtb_product d0_ INNER JOIN ★1 dtb_product_category d2_ ON d0_.id = d2_.product_id AND d2_.discriminator_type IN ('productcategory') INNER JOIN dtb_category d3_ ON d2_.category_id = d3_.id AND : [省略] : WHERE ★2(d0_.product_status_id = 1 AND d2_.category_id IN (158) AND d1_.visible = 1) AND d0_.discriminator_type IN ('product') GROUP BY d0_.id ORDER BY sclr_9 ASC, d0_.id DESC [改造後のSQL] : [省略] : FROM dtb_product d0_ INNER JOIN ★1 (SELECT a.category_id, a.product_id, a.discriminator_type FROM ★1 (SELECT * FROM dtb_product_category WHERE category_id = 158) a, ★1 (SELECT * FROM dtb_product_category WHERE category_id = 11) b, ★1 (SELECT * FROM dtb_product_category WHERE category_id = 22) c ★1 WHERE ★1 a.product_id = b.product_id and ★1 a.product_id = c.product_id and ★1 b.product_id = c.product_id ★1 ) AS d2_ ON d0_.id = d2_.product_id AND d2_.discriminator_type IN ('productcategory') INNER JOIN dtb_category d3_ ON d2_.category_id = d3_.id AND : [省略] : WHERE ★2(d0_.product_status_id = 1 AND d1_.visible = 1) AND d0_.discriminator_type IN ('product') GROUP BY d0_.id ORDER BY sclr_9 ASC, d0_.id DESC |
フラット表示 | 前のトピック | 次のトピック |
題名 | 投稿者 | 日時 |
---|---|---|
» 商品一覧の検索処理の変更について | BlackBox | 2021/6/28 15:53 |
Re: 商品一覧の検索処理の変更について | 468 | 2021/6/30 11:43 |
Re: 商品一覧の検索処理の変更について | BlackBox | 2021/7/2 17:23 |
Re: 商品一覧の検索処理の変更について | 468 | 2021/7/7 11:04 |