2016-04-20 66 views
0

之间现在在哪里,我想选择的条目,其中现在的startDate和结束日期之间,但它不工作,我有此查询选择项的startDate和结束日期

$qb = $this->createQueryBuilder('c') 
     ->Where(':now BETWEEN :startDate AND :endDate') 
     ->setParameter('startDate', 'c.startDate') 
     ->setParameter('endDate', 'c.endDate') 
     ->setParameter('now', new \Datetime()) 
     ->orderBy('c.id', 'DESC'); 

    return $qb->getQuery()->getResult(); 

我没有错误apears改变这样的查询和它现在的作品:

$qb = $this->createQueryBuilder('c') 
     ->Where(':now BETWEEN c.startDate AND c.endDate') 
     ->setParameter('now', new \Datetime()) 
     ->orderBy('c.id', 'DESC'); 
return $qb->getQuery()->getResult(); 
+0

是该制造,可以直接运行什么查询它(或通过phpMyAdmin的)? – kero

+0

@kingkero这是一个错误,并从我的注意力不集中 – hous

回答

2
$repository = $this->getDoctrine()->getRepository('AppBundle:Product'); 

$qb = $repository->createQueryBuilder('c') 
     ->where('c.startDate < :now') 
     ->andWhere('c.endDate > :now') 
     ->setParameter('now', new \Datetime()) 
     ->orderBy('c.id', 'DESC'); 

    return $qb->getQuery()->getResult(); 
+1

谢谢,你的代码工作,我也改变了查询'$ qb = $ this-> createQueryBuilder('c') - > Where(':now BETWEEN c.startDate AND c.endDate') - > setParameter('now',new \ Datetime()) - > orderBy('c.id','DESC'); – hous

相关问题