/** * @param BannerPositionFilter $filter * @return BannerPosition[] */ public function filter(BannerPositionFilter $filter) { $builder = $this->createQueryBuilder('p')->addSelect('b')->leftJoin('p.banner', 'b'); if ($filter->getId()) { $builder->andWhere('p.id = :id')->setParameter('id', $filter->getId()); } if ($filter->getName()) { $builder->andWhere('p.name = :name')->setParameter('name', $filter->getName()); } if (null !== $filter->getIsActive()) { $builder->andWhere('p.isActive = :isActive')->setParameter('isActive', $filter->getIsActive()); } return $this->returnFilteredEntities($builder, $filter, 'p.id'); }