mysql - Symfony - 选择日期 = 今天的对象

标签 mysql symfony date select where-clause

我有一个包含代码的实体存储库

$qb = $this->createQueryBuilder('tdd');
$qb->select('tdd')
->where($qb->expr()->eq('tdd.disable_date', ':dat'))
->setParameter('dat', new \DateTime());
return $qb->getQuery()->getOneOrNullResult();

并且仅包含一个成员的实体 (disable_date)

/**
 * @ORM\Column(type="date", unique=true, nullable=false)
 * @ORM\Id()
 */
private $disable_date;

当我尝试检查今天的日期是否在数据库中时,上面的代码返回 NULL。 数据库中的日期存在。 什么鬼?

最佳答案

因为 new DateTime() 创建的对象与此类似: 对象(日期时间)#1 (3) { [“日期”]=> 字符串(26)“2018-04-12 07:24:34.697668” [“timezone_type”]=> 整数(3) [“时区”]=> string(10) "美国/太平洋" }

并且您试图将准确的日期与时间(包括毫秒)相匹配。这就是为什么结果为 null

检查没有h:i:s的日期

关于mysql - Symfony - 选择日期 = 今天的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49798362/

相关文章:

java - 从 MySQL 数据库中删除玩家

java - 在 Jmeter Junit 测试的设置中使用 JDBC

php - 从 JsonResponse 对象内的 Doctrine 返回数据

php - Doctrine2,Symfony2。甲骨文错误 :Class has no field or association named user_id

date - SAS 和 INTNX 格式化

javascript - 如何计算Javascript中日期对象数组中任意时间的时间百分比

MySQL优化巨大的查询

mysql - 如何计算数据库中的水平值?

sql - Doctrine DQL 每组最大 n

java - 如何替换添加到 ArrayList 中的日期