doctrine querybuilderで式mysql NOW()を使用するには?Doctrine QueryBuilderの式mysql NOW()
答えて
Doctrine2では、NOW()
の代わりに次のいずれかを使用する必要があります。
この:
CURRENT_TIMESTAMP()
または: CURRENT_TIME()
とCURRENT_DATE()
Documentation can be found here:
...
createQuery(...'WHERE x.date = :now')
->setParameter('now', new \DateTime('now'))
...
あなただけの時間または日付のみの使用、これらのいずれかをしたい場合。
$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()')
);
2番目の例では、クエリービルダー式を使用する代わりに 'whereex'呼び出しの中で短い' B.expiresAt> CURRENT_TIMESTAMP() '比較を直接使うことができます – Clamburger
私はデータベースの時間を使うことを望んでいたと仮定します。サーバーの。代わりのオプションは、[resultset mapper/native query](http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/native-sql.html)を使用するか、Doctrineを拡張することです。独自のDoctrine \ ORM \ Query \ AST \ Functionsを記述してください。 – ficuscr
- 1. Doctrine QueryBuilder式
- 2. Doctrine querybuilder TO_DAYS
- 3. Doctrine 2 QueryBuilder
- 4. phpspec doctrine queryBuilder - mock
- 5. Doctrine QueryBuilder addSelect with user input
- 6. Codeigniter MySQL now()time
- 7. mysql NOW()+ $ seconds php?
- 8. Wordpress - $ wpdb-> insert - MySQL NOW()
- 9. left join queryBuilder symfony3
- 10. Doctrine LEFT mysql function
- 11. Doctrine using MySQL
ドキュメントリンクレポートが見つからない、更新してください。 – wesamly
このCURRENT_TIMESTAMP()は今まで私にとってうまくいきませんでした。その使用方法の例を教えてください。私はWebサーバーの時間を使用するのではなく、データベースを使用することを心配していません。私はいつも生のSQL(依然としてバインディング・パラメータ)を書いて、クエリー・ビルダーを諦めてしまいます。 – ficuscr
''now''は' DateTime'のデフォルトのparamですので、 'new \ DateTime()'で十分です。 –