2013-01-24 111 views
0

我有这样的SQL查询:从原材料的SQL查询的symfony 2 SQL查询

SELECT * from gift WHERE NOW() >= `validbegin` AND NOW() <= `validend` ORDER BY `points`n ASC 

我需要将其转换为一个Symfony的2查询到的数据提取到一个对象调用礼品。到目前为止,我有这样的:

$query = $giftRepository->createQueryBuilder('p') 
     ->where('NOW() >= validbegin AND NOW() <= p.validend') 
     ->orderBy('p.points', 'ASC') 
     ->getQuery(); 
    $gifts = $query->getResult(); 

但是,这给了我:

[Syntax Error] line 0, col 53: Error: Expected known function, got 'NOW'

任何想法?

ps。也试过p.NOW()

+0

什么样的领域是,日期时间? – mpm

回答

1

试试这个:

$query = $giftRepository->createQueryBuilder('p') 
    ->where(':now >= validbegin AND :now <= p.validend') 
    ->setParameter('now', new \DateTime()) 
    ->orderBy('p.points', 'ASC') 
    ->getQuery(); 
$gifts = $query->getResult(); 

您产生从PHP的字段,然后主义会自动将其转换为一个MySQL时间戳