0

私はこのSQLクエリを持っています:

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

Gift を呼び出すオブジェクトにデータをフェッチするには、これを Symfony 2 クエリに変換する必要があります。これまでのところ、私はこれを持っています:

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

しかし、それは私に与えました:

[構文エラー] 0 行目、53 列目: エラー: 既知の関数が予期されていましたが、'NOW' を取得しました

何か案が?

ps。p.NOW() も試しました

4

1 に答える 1

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 からフィールドを生成すると、doctrine が自動的にそれを mysql タイムスタンプに変換します。

于 2013-01-24T21:43:15.223 に答える