mysql - Doctrine2 在 Symfony2 中抛出异常

标签 mysql symfony doctrine-orm

我遇到如下异常(exception):

[Syntax Error] line 0, col 53: Error: Expected known function, got 'MONTH'

当尝试在 symfony2 中使用doctrine2 执行以下查询时:

SELECT e FROM EntityBundle:Employee e  WHERE MONTH(e.dateOfJoining) = 03 order by e.name

当我尝试执行类似的查询时,如下所示:

SELECT * FROM employee e WHERE MONTH(e.date_of_joining) = 03;

它在 phpmyadmin 中运行良好。那么任何人都可以建议我如何使用 symfony2 实现相同的查询doctrine2 吗?

最佳答案

尝试阅读这篇关于 registering functions with doctrine 的文章但无论如何你都不应该使用它。根据列上的表达式进行过滤效率非常低。

您可以通过执行类似的操作来实现相同的目标,而无需任何开销 -

SELECT e.*
FROM employee e
WHERE e.dateOfJoining BETWEEN '2012-03-01' AND '2012-03-31'
ORDER BY e.name

此查询将能够使用 dateOfJoining 列上的任何适用索引。

关于mysql - Doctrine2 在 Symfony2 中抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9888541/

相关文章:

javascript - 使用 Symfony/Twig 进行 jQuery 文件上传

php - Doctrine2 的 preUpdate 在 Symfony2 中缺少 PreUpdateEventArgs 参数

php - 使用 Ajax 和 PHP 导入 csv 将 csv 导入到 mysql,而不是上传文件

php - MySQL/PHP foreach 仍然只在数据库中显示第一个

forms - symfony2 中的简单形式

macos - OSX Apache 使用错误版本的 PHP

symfony - 无法解析类的列“id”的类型

php - 在 Symfony2 中创建数据库

php - 使用具有多个 y 轴的 SQL Server 数据库绘制流程图

javascript - 如何使用 php 在我的网页中使用动态数据绘制和显示图形