vendor/shopware/core/Content/Product/SalesChannel/ProductAvailableFilter.php line 10

  1. <?php declare(strict_types=1);
  2. namespace Shopware\Core\Content\Product\SalesChannel;
  3. use Shopware\Core\Content\Product\Aggregate\ProductVisibility\ProductVisibilityDefinition;
  4. use Shopware\Core\Framework\DataAbstractionLayer\Search\Filter\EqualsFilter;
  5. use Shopware\Core\Framework\DataAbstractionLayer\Search\Filter\MultiFilter;
  6. use Shopware\Core\Framework\DataAbstractionLayer\Search\Filter\RangeFilter;
  7. use Shopware\Core\Framework\Log\Package;
  8. /**
  9.  * @final
  10.  */
  11. #[Package('inventory')]
  12. class ProductAvailableFilter extends MultiFilter
  13. {
  14.     public function __construct(
  15.         string $salesChannelId,
  16.         int $visibility ProductVisibilityDefinition::VISIBILITY_ALL
  17.     ) {
  18.         parent::__construct(
  19.             self::CONNECTION_AND,
  20.             [
  21.                 new RangeFilter('product.visibilities.visibility', [RangeFilter::GTE => $visibility]),
  22.                 new EqualsFilter('product.visibilities.salesChannelId'$salesChannelId),
  23.                 new EqualsFilter('product.active'true),
  24.             ]
  25.         );
  26.     }
  27. }