vendor/shopware/core/System/Language/LanguageCollection.php line 13

Open in your IDE?
  1. <?php declare(strict_types=1);
  2. namespace Shopware\Core\System\Language;
  3. use Shopware\Core\Framework\DataAbstractionLayer\EntityCollection;
  4. use Shopware\Core\Framework\Log\Package;
  5. use Shopware\Core\System\Locale\LocaleCollection;
  6. /**
  7.  * @extends EntityCollection<LanguageEntity>
  8.  */
  9. #[Package('core')]
  10. class LanguageCollection extends EntityCollection
  11. {
  12.     /**
  13.      * @return list<string>
  14.      */
  15.     public function getParentIds(): array
  16.     {
  17.         return $this->fmap(function (LanguageEntity $language) {
  18.             return $language->getParentId();
  19.         });
  20.     }
  21.     public function filterByParentId(string $id): LanguageCollection
  22.     {
  23.         return $this->filter(function (LanguageEntity $language) use ($id) {
  24.             return $language->getParentId() === $id;
  25.         });
  26.     }
  27.     /**
  28.      * @return list<string>
  29.      */
  30.     public function getLocaleIds(): array
  31.     {
  32.         return $this->fmap(function (LanguageEntity $language) {
  33.             return $language->getLocaleId();
  34.         });
  35.     }
  36.     public function filterByLocaleId(string $id): LanguageCollection
  37.     {
  38.         return $this->filter(function (LanguageEntity $language) use ($id) {
  39.             return $language->getLocaleId() === $id;
  40.         });
  41.     }
  42.     public function getLocales(): LocaleCollection
  43.     {
  44.         return new LocaleCollection(
  45.             $this->fmap(function (LanguageEntity $language) {
  46.                 return $language->getLocale();
  47.             })
  48.         );
  49.     }
  50.     public function getApiAlias(): string
  51.     {
  52.         return 'language_collection';
  53.     }
  54.     protected function getExpectedClass(): string
  55.     {
  56.         return LanguageEntity::class;
  57.     }
  58. }