mysql - SQL Doctrine 除夕

标签 mysql sql symfony doctrine-orm

这很奇怪,也许是我的错。今天我启动了我的测试,其中有 2 个故障(昨天没有)。此测试使用一些预订的控制日期,我推测问题是今天是 31/12。我会给你看代码:

$em = $this->getEntityManager();
        $query = $em->createQuery(
            'SELECT b
            FROM AppBundle:Booking b
            WHERE b.bookingDate >= CURRENT_DATE()
            AND b.bookingDate <= CURRENT_DATE()+1
            ORDER ASC b.bookingDate'
        )

        return $booking = $query->getResult();

这是我发现检查预订日期是否为今天的唯一方法。有没有可能是因为今天是 31/12?你有什么解决办法吗? 对不起,英语不好,谢谢。

最佳答案

您可以通过 Php 计算日期:

$today = new DateTime('now');
$tomorrow = new DateTime('tomorrow');

$em = $this->getEntityManager();
$query = $em->createQuery(
            'SELECT b
            FROM AppBundle:Booking b
            WHERE b.bookingDate >= :today
            AND b.bookingDate < :tomorrow
            ORDER BY b.bookingDate ASC'
);

return $query->setParameters(array(
    'today' => $now->format('Y-m-d'), 
    'tomorrow' => $tomorrow->format('Y-m-d')
))->getResult();

您可以避免使用 var $booking 并直接返回结果。 您还错过了 ;createQuery 的末尾并且 ORDER 是 ORDER BY。

还要注意命名空间,也许你必须使用 new\DateTime('now');

关于mysql - SQL Doctrine 除夕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41407916/

相关文章:

sql - 使用单个连接查询而不是多个查询来提高性能?

php - 尝试将数据加载到 ChoiceType 表单中,但没有保存

php - Symfony 文件上传和 UploadedFile::getClientSize()

mysql - 使用 Sequelize 仅从行和关联中获取值

php - 为什么当我查找某些列而不是其他列时,php 返回 json?

php - Mysql 数据库未正确更新

自定义表单字段 Symfony2 中的 Javascript

mysql - SQL 返回 NULL 行和相应的下一行

sql - 是否可以在 PostgreSQL 中创建可为空的外键约束?

sql - 添加第二个连接条件以指数方式增加查询时间