Veamos como usar between en DQL con este método de ejemplo:
public function getPostsLastDays($days) { $em = $this->getEntityManager(); $fecha = date('Y-m-d'); $nuevafecha = strtotime("-{$days} day", strtotime($fecha)); $nuevafecha = date ( 'Y-m-d' , $nuevafecha ); $dql = "SELECT p FROM Web\BlogBundle\Entity\Posts p WHERE p.createdAt BETWEEN '{$nuevafecha}' AND '5000-01-01' ORDER BY p.createdAt DESC"; $query = $em->createQuery($dql); $posts = $query->getResult(); return $posts; }
Este método lo que hace es sacar los posts de una fecha en adelante.