vendor/shopware/core/Framework/DataAbstractionLayer/Search/Sorting/FieldSorting.php line 11

  1. <?php declare(strict_types=1);
  2. namespace Shopware\Core\Framework\DataAbstractionLayer\Search\Sorting;
  3. use Shopware\Core\Framework\DataAbstractionLayer\Search\CriteriaPartInterface;
  4. use Shopware\Core\Framework\Log\Package;
  5. use Shopware\Core\Framework\Struct\Struct;
  6. #[Package('core')]
  7. class FieldSorting extends Struct implements CriteriaPartInterface
  8. {
  9.     public const ASCENDING 'ASC';
  10.     public const DESCENDING 'DESC';
  11.     /**
  12.      * @var string
  13.      */
  14.     protected $field;
  15.     /**
  16.      * @var string
  17.      */
  18.     protected $direction;
  19.     /**
  20.      * @var bool
  21.      */
  22.     protected $naturalSorting;
  23.     public function __construct(
  24.         string $field,
  25.         string $direction self::ASCENDING,
  26.         bool $naturalSorting false
  27.     ) {
  28.         $this->field $field;
  29.         $this->direction $direction;
  30.         $this->naturalSorting $naturalSorting;
  31.     }
  32.     public function getField(): string
  33.     {
  34.         return $this->field;
  35.     }
  36.     public function getFields(): array
  37.     {
  38.         return [$this->field];
  39.     }
  40.     public function getDirection(): string
  41.     {
  42.         return $this->direction;
  43.     }
  44.     public function getNaturalSorting(): bool
  45.     {
  46.         return $this->naturalSorting;
  47.     }
  48.     public function getApiAlias(): string
  49.     {
  50.         return 'dal_field_sorting';
  51.     }
  52. }