我正在使用 Zend Framework 2 并使用 Doctrine Query Language。
我必须在用户列表页面上添加年龄过滤器。在数据库中,我使用日期格式存储了用户的出生日期。请帮助我如何使用 where 条件来应用我的过滤器。
$repository = $this->entityManager->getRepository('User\Entity\User');
$query = $repository->createQueryBuilder('u');
$query->where("(DATE_DIFF(CURRENT_DATE(), u.birth_date)/365)=".$search_arr['age']);
此查询不返回任何内容。原因可能是当我在 mysql 中运行它时DATEDIFF( CURRENT_DATE( ) , u.birth_date ) /365
,它返回浮点数,例如 10.29。我需要将其转换为整数进行比较。Mysql 提供了FLOOR功能,但它在 DQL 中不起作用。
请帮我解决这个问题。