* @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) */ declare(strict_types=1); namespace PrestaShop\PrestaShop\Core\Repository; use Doctrine\DBAL\Query\QueryBuilder; use PrestaShop\PrestaShop\Core\Domain\Shop\ValueObject\ShopConstraint; trait ShopConstraintTrait { protected function applyShopConstraint( QueryBuilder $queryBuilder, ?ShopConstraint $shopConstraint = null ): QueryBuilder { if (null === $shopConstraint) { return $queryBuilder; } if ($shopConstraint->getShopId() !== null) { $queryBuilder ->andWhere('id_shop = :shop') ->setParameter('shop', $shopConstraint->getShopId()->getValue()) ; } if ($shopConstraint->getShopGroupId() !== null) { $queryBuilder ->andWhere('id_shop_group = :shop_group') ->setParameter('shop_group', $shopConstraint->getShopGroupId()->getValue()) ; } return $queryBuilder; } }