vendor/shopware/core/Framework/DataAbstractionLayer/Search/Aggregation/Bucket/TermsAggregation.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\Sorting\FieldSorting;
  5. use Shopware\Core\Framework\Log\Package;
  6. /**
  7.  * @final tag:v6.5.0
  8.  */
  9. #[Package('core')]
  10. class TermsAggregation extends BucketAggregation
  11. {
  12.     /**
  13.      * @var int|null
  14.      */
  15.     protected $limit;
  16.     /**
  17.      * @var FieldSorting|null
  18.      */
  19.     protected $sorting;
  20.     public function __construct(string $namestring $field, ?int $limit null, ?FieldSorting $sorting null, ?Aggregation $aggregation null)
  21.     {
  22.         parent::__construct($name$field$aggregation);
  23.         $this->limit $limit;
  24.         $this->sorting $sorting;
  25.     }
  26.     public function getLimit(): ?int
  27.     {
  28.         return $this->limit;
  29.     }
  30.     public function getSorting(): ?FieldSorting
  31.     {
  32.         return $this->sorting;
  33.     }
  34.     public function getFields(): array
  35.     {
  36.         $fields parent::getFields();
  37.         if (!$this->sorting) {
  38.             return $fields;
  39.         }
  40.         foreach ($this->sorting->getFields() as $field) {
  41.             $fields[] = $field;
  42.         }
  43.         return $fields;
  44.     }
  45. }