Problem: how do you get all entities with a date/timestamp before or after the current date time?
Solution: doctrine query – now with parameter
In SQL, you would write
SELECT * FROM page WHERE mydatetime > NOW()
This is not possible with doctrine2, that is used in symfony2.
Workaround: introduce a parameter that stores the now value.
$this->getEntityManager()
->createQuery('SELECT p FROM AcmeBundle:Page p WHERE NOT p.mydatetime IS NULL and p.mydatetime <= :now ORDER BY p.mydatetime ASC')
->setParameter('now', new \DateTime('now'))
->getResult()
This statement returns all page entities that have a mydatetime value that is in the past. If the timestamp is not set, they will also be filtered and not returned.