質問 > 管理機能 > 商品検索で、店舗ごとに検索を行えるようにしたい |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
ゲスト |
投稿日時: 2016/6/17 17:08
対応状況: −−−
|
商品検索で、店舗ごとに検索を行えるようにしたい 管理画面の商品マスタ画面なのですが、デフォルトでは
何も選択しない場合は全件検索されるものと思います。 カテゴリで絞ることはできるのですが、例として 店舗が店舗1、店舗2、店舗3とあり 親カテゴリとして店舗で扱っている商品のジャンルを設定します 例)食器、インテリア それぞれ、以下のように配置されています 食器:店舗1、店舗2 インテリア:店舗1、店舗3 カテゴリ検索の場合、食器の店舗1を選択した場合は同じ店舗1でもインテリアの商品検索ができないため利便性に欠けてしまうかなと思います。 しかし、ほかの店舗の商品情報を更新できてしまうのはよくないため指定しない場合の全件検索も好ましくない状況です。 店舗名はユーザ情報に入れているため、そこから取得はでき、また処理を追加すべき箇所は SearchProductType.phpかなと思っているのですが ここでの追記の仕方が間違っていたのかエラーとなってしまいました。 SQL組むんだろうなということと dtb_productからテーブルの結合を行いcategoryテーブルまで結合させるということは理解し何とかSQLは組みphpMyAdminで実行し正しい結果が取れたことは確認できました。 SearchProductType.phpへの追記方法(たぶん、->addの部分を間違えているのだと思いますが…) SQLは正しく動作しており結合の書き方も間違えていないと思うので… ほかの部分で何か設定する箇所はあるのでしょうか? お知恵をお貸しいただければ幸いです。 【実現したいもののSQL】 SELECT * FROM dtb_product p INNER JOIN dtb_product_class pc ON p.product_id = pc.product_id INNER JOIN dtb_product_category pCa ON p.product_id = pCa.product_id INNER JOIN dtb_category ca ON pCa.category_id = ca.category_id WHERE ca.category_name = '店舗1' 【SearchProductType.phpに追加した箇所】 ->add('store_name', 'hidden', array( 'query_builder' => function(EntityRepository $er) use (店舗名の入っている変数){ return $er->createQueryBuilder('p') ->innerJoin('p.ProductClasses', 'pc') ->innerJoin('pc.ProductCategories', pCa) ->innerJoin('pCa.Category', 'ca') ->where('ca.name = :name') ->setParameter('name', 店舗名の入っている変数); }, )) store_nameを他の個所に書いていないため、そこが原因かとは思うのですが… |
|
DELIGHT |
投稿日時: 2016/6/17 17:45
対応状況: −−−
|
仙人 登録日: 2010/2/3 居住地: 熊本県・九州・長野県・関東甲信越 投稿: 572 |
Re: 商品検索で、店舗ごとに検索を行えるようにしたい まずデバッグモードを使ってエラー内容を併記して下さい。
「エラーが発生した」だけでは何のエラーか分かりません。 推測する限りでは恐らく
hiddenタイプのフォームで使えるオプションは下記のURLの通りです。 http://symfony.com/doc/current/reference/forms/types/hidden.html Eccube\Formに記述するのはあくまでもフォームに関する情報のみです。 実際に商品検索のクエリを組み上げている箇所は下記の順序で追うことができます。 https://github.com/EC-CUBE/ec-cube/blob/3.0.10/src/Eccube/Controller/Admin/Product/ProductController.php#L78 https://github.com/EC-CUBE/ec-cube/blob/3.0.10/src/Eccube/Repository/ProductRepository.php#L136
|
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |