mysql - query - where in laravel eloquent
Expresión mysql NOW() en Doctrine QueryBuilder (2)
¿Cómo usar la expresión mysql NOW () en doctrine querybuilder?
En Doctrine2 debes usar uno de los siguientes en lugar de NOW()
.
Esta:
CURRENT_TIMESTAMP()
O:
...
createQuery(...''WHERE x.date = :now'')
->setParameter(''now'', new /DateTime(''now''))
...
Si solo desea la hora o la fecha, use una de ellas: CURRENT_TIME()
y CURRENT_DATE()
Usando el generador de consultas se vería así:
$qb
->select(''B'')
->from(''RandomBundle:Banana'', ''B'')
->where(
$qb->expr()->gt(''B.expiresAt'', '':now'')
)
->setParameter(''now'', ''/'CURRENT_TIMESTAMP()/''');
Nota: se requieren comillas adicionales en el conjunto de parámetros para que funcione la función CURRENT_TIMESTAMP()
.
O simplemente
$qb
->select(''B'')
->from(''RandomBundle:Banana'', ''B'')
->where(
$qb->expr()->gt(''B.expiresAt'', ''CURRENT_TIMESTAMP()'')
);