/** * Check if applicant with email or phone number has been added to a job position * * @param \Opit\OpitHrm\HiringBundle\Entity\Applicant $applicant * @return type */ public function findByEmailPhoneNumber(Applicant $applicant) { $dq = $this->createQueryBuilder('a'); $dq->select('count(a.id)'); $dq->innerJoin('a.jobPosition', 'jp'); $dq->where($dq->expr()->eq('jp.id', ':jpId')); $dq->andWhere($dq->expr()->orX($dq->expr()->eq('a.email', ':email'), $dq->expr()->eq('a.phoneNumber', ':phoneNumber'))); $dq->setParameter(':email', $applicant->getEmail()); $dq->setParameter(':phoneNumber', $applicant->getPhoneNumber()); $dq->setParameter(':jpId', $applicant->getJobPosition()->getId()); return $dq->getQuery()->getSingleScalarResult(); }