app/Plugin/HigashiyamaForProduct/Repository/ProductSearchCustomizer.php line 18

Open in your IDE?
  1. <?php
  2. namespace Plugin\HigashiyamaForProduct\Repository;
  3. use Eccube\Doctrine\Query\QueryCustomizer;
  4. use Eccube\Doctrine\Query\WhereClause;
  5. use Eccube\Repository\QueryKey;
  6. use Doctrine\ORM\QueryBuilder;
  7. /**
  8.  * 検索機能でショップ用メモを検索できるようにする
  9.  */
  10. class ProductSearchCustomizer implements QueryCustomizer
  11. {
  12.     public function customize(QueryBuilder $builder$params$queryKey)
  13.     {
  14.         if ($params['name']) {
  15.             // QueryBuilderに対してショップ用メモを検索対象するように設定
  16.             $builder->orWhere("p.sub_name_up LIKE :sub_name_up");
  17.             $builder->setParameter("sub_name_up"'%' $params['name'] . '%');
  18.             $builder->orWhere("p.sub_name_down LIKE :sub_name_down");
  19.             $builder->setParameter("sub_name_down"'%' $params['name'] . '%');
  20.             $builder->orWhere("p.contents LIKE :contents");
  21.             $builder->setParameter("contents"'%' $params['name'] . '%');
  22.             $builder->andWhere("p.Status = 1");
  23.         }
  24.     }
  25.     public function getQueryKey(): string
  26.     {
  27.         return QueryKey::PRODUCT_SEARCH;
  28.     }
  29. }