vendor/shopware/core/Content/Product/Aggregate/ProductVisibility/ProductVisibilityCollection.php line 12

Open in your IDE?
  1. <?php declare(strict_types=1);
  2. namespace Shopware\Core\Content\Product\Aggregate\ProductVisibility;
  3. use Shopware\Core\Framework\DataAbstractionLayer\EntityCollection;
  4. use Shopware\Core\Framework\Log\Package;
  5. /**
  6.  * @extends EntityCollection<ProductVisibilityEntity>
  7.  */
  8. #[Package('inventory')]
  9. class ProductVisibilityCollection extends EntityCollection
  10. {
  11.     /**
  12.      * @return list<string>
  13.      */
  14.     public function getProductIds(): array
  15.     {
  16.         return $this->fmap(function (ProductVisibilityEntity $visibility) {
  17.             return $visibility->getProductId();
  18.         });
  19.     }
  20.     public function filterByProductId(string $id): self
  21.     {
  22.         return $this->filter(function (ProductVisibilityEntity $visibility) use ($id) {
  23.             return $visibility->getProductId() === $id;
  24.         });
  25.     }
  26.     public function filterBySalesChannelId(string $id): self
  27.     {
  28.         return $this->filter(function (ProductVisibilityEntity $visibility) use ($id) {
  29.             return $visibility->getSalesChannelId() === $id;
  30.         });
  31.     }
  32.     public function getApiAlias(): string
  33.     {
  34.         return 'product_visibility_collection';
  35.     }
  36.     protected function getExpectedClass(): string
  37.     {
  38.         return ProductVisibilityEntity::class;
  39.     }
  40. }