vendor/shopware/core/Content/Category/CategoryCollection.php line 13

Open in your IDE?
  1. <?php declare(strict_types=1);
  2. namespace Shopware\Core\Content\Category;
  3. use Shopware\Core\Framework\DataAbstractionLayer\EntityCollection;
  4. use Shopware\Core\Framework\DataAbstractionLayer\Util\AfterSort;
  5. use Shopware\Core\Framework\Log\Package;
  6. /**
  7.  * @extends EntityCollection<CategoryEntity>
  8.  */
  9. #[Package('content')]
  10. class CategoryCollection extends EntityCollection
  11. {
  12.     /**
  13.      * @return list<string>
  14.      */
  15.     public function getParentIds(): array
  16.     {
  17.         return $this->fmap(function (CategoryEntity $category) {
  18.             return $category->getParentId();
  19.         });
  20.     }
  21.     public function filterByParentId(string $id): self
  22.     {
  23.         return $this->filter(function (CategoryEntity $category) use ($id) {
  24.             return $category->getParentId() === $id;
  25.         });
  26.     }
  27.     /**
  28.      * @return list<string>
  29.      */
  30.     public function getMediaIds(): array
  31.     {
  32.         return $this->fmap(function (CategoryEntity $category) {
  33.             return $category->getMediaId();
  34.         });
  35.     }
  36.     public function filterByMediaId(string $id): self
  37.     {
  38.         return $this->filter(function (CategoryEntity $category) use ($id) {
  39.             return $category->getMediaId() === $id;
  40.         });
  41.     }
  42.     public function sortByPosition(): self
  43.     {
  44.         $this->elements AfterSort::sort($this->elements'afterCategoryId');
  45.         return $this;
  46.     }
  47.     public function sortByName(): self
  48.     {
  49.         $this->sort(function (CategoryEntity $aCategoryEntity $b) {
  50.             return strnatcasecmp($a->getTranslated()['name'], $b->getTranslated()['name']);
  51.         });
  52.         return $this;
  53.     }
  54.     public function getApiAlias(): string
  55.     {
  56.         return 'category_collection';
  57.     }
  58.     protected function getExpectedClass(): string
  59.     {
  60.         return CategoryEntity::class;
  61.     }
  62. }