|
- <?php
-
- namespace Lc\CaracoleBundle\Repository\Product;
-
- use Knp\Component\Pager\PaginatorInterface;
- use Lc\CaracoleBundle\Repository\SectionRepositoryQueryTrait;
- use Lc\SovBundle\Doctrine\EntityInterface;
- use Lc\SovBundle\Repository\AbstractRepositoryQuery;
-
- class ProductCategoryRepositoryQuery extends AbstractRepositoryQuery
- {
- use SectionRepositoryQueryTrait;
-
- protected $isJoinProductFamilies = false;
-
- public function __construct(ProductCategoryRepository $repository, PaginatorInterface $paginator)
- {
- parent::__construct($repository, 'r', $paginator);
- }
-
- public function joinProductFamilies(): self
- {
- if (!$this->isJoinProductFamilies) {
- $this->isJoinProductFamilies = true;
-
- return $this
- ->innerJoin('.productFamilies', 'pf');
- }
-
- return $this;
- }
- public function hasProductFamilyOnline(): self
- {
- $this->joinProductFamilies();
-
- return $this->andWhere('pf.status = 1');
- }
-
- }
|