vendor/shopware/core/Framework/DataAbstractionLayer/Search/Aggregation/Bucket/FilterAggregation.php line 13

Open in your IDE?
  1. <?php declare(strict_types=1);
  2. namespace Shopware\Core\Framework\DataAbstractionLayer\Search\Aggregation\Bucket;
  3. use Shopware\Core\Framework\DataAbstractionLayer\Search\Aggregation\Aggregation;
  4. use Shopware\Core\Framework\DataAbstractionLayer\Search\Filter\Filter;
  5. use Shopware\Core\Framework\Log\Package;
  6. /**
  7.  * @final tag:v6.5.0
  8.  */
  9. #[Package('core')]
  10. class FilterAggregation extends BucketAggregation
  11. {
  12.     /**
  13.      * @var Filter[]
  14.      */
  15.     protected $filter;
  16.     public function __construct(string $nameAggregation $aggregation, array $filter)
  17.     {
  18.         parent::__construct($name''$aggregation);
  19.         $this->filter $filter;
  20.     }
  21.     /**
  22.      * @return Filter[]
  23.      */
  24.     public function getFilter(): array
  25.     {
  26.         return $this->filter;
  27.     }
  28.     public function getFields(): array
  29.     {
  30.         $fields $this->aggregation->getFields();
  31.         foreach ($this->filter as $filter) {
  32.             $nested $filter->getFields();
  33.             foreach ($nested as $field) {
  34.                 $fields[] = $field;
  35.             }
  36.         }
  37.         return $fields;
  38.     }
  39.     public function addFilters(array $filters): void
  40.     {
  41.         foreach ($filters as $filter) {
  42.             $this->filter[] = $filter;
  43.         }
  44.     }
  45. }