/** * @param User $user * @param string|null $search * @return QueryBuilder */ public function searchComestibleOfUserQb(User $user, $search = null) { $qb = $this->createQueryBuilder('c'); $qb->where($qb->expr()->eq('c.user', ':user')); $qb->setParameter('user', $user->getId()); if (null !== $search) { $qb->andWhere($qb->expr()->like('c.name', ':name')); $qb->setParameter('name', '%' . $search . '%'); } $qb->orderBy('c.name'); return $qb; }
/** * @param \DateTime $from * @param \DateTime $to * @param User $user * @param string $alias * @return \Doctrine\ORM\QueryBuilder */ public function getInRangeQueryBuilder(\DateTime $from, \DateTime $to, User $user = null, $alias = 'd') { $qb = $this->createQueryBuilder($alias); $qb->andWhere($alias . '.date >= :from'); $qb->andWhere($alias . '.date <= :to'); $qb->setParameter('from', $from); $qb->setParameter('to', $to); $qb->orderBy($alias . '.date', 'ASC'); if (null !== $user) { $qb->andWhere($alias . '.user = :user'); $qb->setParameter('user', $user->getId()); } return $qb; }