|
|
@@ -4,6 +4,7 @@ namespace Lc\ShopBundle\Repository; |
|
|
|
|
|
|
|
use Lc\ShopBundle\Context\DefaultRepositoryInterface; |
|
|
|
use Lc\ShopBundle\Context\OrderProductInterface; |
|
|
|
use Lc\ShopBundle\Model\OrderStatus; |
|
|
|
|
|
|
|
/** |
|
|
|
* @method OrderProductInterface|null find($id, $lockMode = null, $lockVersion = null) |
|
|
@@ -18,5 +19,21 @@ class OrderProductRepository extends BaseRepository implements DefaultRepository |
|
|
|
return OrderProductInterface::class; |
|
|
|
} |
|
|
|
|
|
|
|
public function findOrderProductsInCartsByProduct($product){ |
|
|
|
$qb = $this->createQueryBuilder('e'); |
|
|
|
$qb->andWhere('e.product = :product'); |
|
|
|
$qb->andWhere('e.redelivery = false OR e.redelivery IS NULL'); |
|
|
|
$qb->setParameter('product', $product); |
|
|
|
$qb->leftJoin('e.orderShop', 'orderShop'); |
|
|
|
$qb->andWhere('orderShop.merchant = :currentMerchant'); |
|
|
|
$qb->setParameter('currentMerchant', $this->merchantUtils->getMerchantCurrent()); |
|
|
|
$qb->leftJoin('orderShop.orderStatus', 'orderStatus'); |
|
|
|
$qb->andWhere('orderStatus.alias IN (:alias)'); |
|
|
|
$qb->setParameter('alias',OrderStatus::ALIAS_CART); |
|
|
|
|
|
|
|
return $qb->getQuery()->getResult(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |