我有一个简单的问题,我只是想按日期选择我所有的预订,我尝试了其他属性,如ID或电子邮件,它工作得很好,但不是日期:
$reservations = $this->getDoctrine()->getManager()
->getRepository('LouvrePagesBundle:Reservation')->findByDateReservation($date);
变量$date和表的日期格式是完全一样的,我真的需要帮助
DataTable截图
正如其他人和您自己在评论中已经提到的,Doctrine期望搜索一个datetime对象。一般来说,不要在代码中不带DateTime对象的情况下使用日期或时间,在您学会如何处理它之后,您将享受到这个对象的舒适。尤其是当你必须处理时区问题的时候。
tl:dr解决方案是:
$repository->findByDateReservation(new DateTime($date));
顺便说一下,因为你的数据库形象:不要在数据库列名称中使用大写字母。在你的配置文件中设置:
doctrine:
# ...
orm:
# ...
naming_strategy: doctrine.orm.naming_strategy.underscore
则dateReservation
等实体中的列名将自动更改为date_reservation