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

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\System\Locale\LocaleCollection;
  5. /**
  6.  * @package core
  7.  * @extends EntityCollection<LanguageEntity>
  8.  */
  9. class LanguageCollection extends EntityCollection
  10. {
  11.     /**
  12.      * @return list<string>
  13.      */
  14.     public function getParentIds(): array
  15.     {
  16.         return $this->fmap(function (LanguageEntity $language) {
  17.             return $language->getParentId();
  18.         });
  19.     }
  20.     public function filterByParentId(string $id): LanguageCollection
  21.     {
  22.         return $this->filter(function (LanguageEntity $language) use ($id) {
  23.             return $language->getParentId() === $id;
  24.         });
  25.     }
  26.     /**
  27.      * @return list<string>
  28.      */
  29.     public function getLocaleIds(): array
  30.     {
  31.         return $this->fmap(function (LanguageEntity $language) {
  32.             return $language->getLocaleId();
  33.         });
  34.     }
  35.     public function filterByLocaleId(string $id): LanguageCollection
  36.     {
  37.         return $this->filter(function (LanguageEntity $language) use ($id) {
  38.             return $language->getLocaleId() === $id;
  39.         });
  40.     }
  41.     public function getLocales(): LocaleCollection
  42.     {
  43.         return new LocaleCollection(
  44.             $this->fmap(function (LanguageEntity $language) {
  45.                 return $language->getLocale();
  46.             })
  47.         );
  48.     }
  49.     public function getApiAlias(): string
  50.     {
  51.         return 'language_collection';
  52.     }
  53.     protected function getExpectedClass(): string
  54.     {
  55.         return LanguageEntity::class;
  56.     }
  57. }