CURRENT_TIMESTAMP() OR t.expiration IS NULL)'; $query = $this->_em->createQuery($dql); $query->setParameters([ ':type' => TokenManipulator::TYPE_VALIDATE, ':user' => $user, ':basket_id' => $basket->getId(), ]); return $query->getOneOrNullResult(); } public function findValidToken($value) { $dql = 'SELECT t FROM Phraseanet:Token t WHERE t.value = :value AND (t.expiration IS NULL OR t.expiration >= CURRENT_TIMESTAMP())'; $query = $this->_em->createQuery($dql); $query->setParameters([':value' => $value]); return $query->getOneOrNullResult(); } public function findExpiredTokens() { $dql = 'SELECT t FROM Phraseanet:Token t WHERE t.expiration < :date'; $query = $this->_em->createQuery($dql); $query->setParameters([':date' => new \DateTime()]); return $query->getResult(); } }