doctrine querybuilderで式mysqlNOW()を使用するにはどうすればよいですか?
			
			28621 次
		
2 に答える
            51        
        
		
Doctrine2 では、 の代わりに次のいずれかを使用する必要がありますNOW()。
これ:
CURRENT_TIMESTAMP()
または:
...
createQuery(...'WHERE x.date = :now')
->setParameter('now', new \DateTime('now'))
...
時間のみまたは日付のみが必要な場合は、次のいずれかを使用します
CURRENT_TIME()。CURRENT_DATE()
于 2012-12-17T01:24:27.883   に答える
    
    
            9        
        
		
クエリビルダーを使用すると、次のようになります。
$qb
    ->select('B')
    ->from('RandomBundle:Banana', 'B')
    ->where(
        $qb->expr()->gt('B.expiresAt', ':now')
    )
    ->setParameter('now', '\'CURRENT_TIMESTAMP()\'');
注: 関数を機能させるには、パラメーター セットに追加の引用符が必要ですCURRENT_TIMESTAMP()。
または単に
$qb
    ->select('B')
    ->from('RandomBundle:Banana', 'B')
    ->where(
        $qb->expr()->gt('B.expiresAt', 'CURRENT_TIMESTAMP()')
    );
    于 2015-10-19T12:08:24.460   に答える