mysql - 在 Doctrine QueryBuilder 中从 MySQL DATETIME 中检索日期

标签 mysql symfony doctrine

我有一个以 DATETIME 格式存储的 MySQL 日期。所以我想知道如何在我的 Doctrine QueryBuilder 的 where 子句中使用 date() 。例如,2013-02-01 12:51:17 是 MySQL 中的日期。但我只需要检索日期。这是我尝试过的:

$qb = $this->getEntityManager()->createQueryBuilder()
    ->select('t.balance','a.id','t.date')
    ->from('TestMainBundle:Transaction','t')               
    ->groupBy('a.id')
    ->orderBy('a.id')
    ->where("t.date in date('t.date') "); 

return $qb->getQuery()->getResult();

我收到以下错误:

QueryException: [Syntax Error]: Error: Expected Doctrine\ORM\Query\Lexer::T_OPEN_PARENTHESIS, got 'date'

最佳答案

您好,您可以使用SUBSTRING 来解决您的问题

->where('SUBSTRING(t.date, 1, 10) IN (:param)')
->setParameter('param', array('2017-04-06'))

关于mysql - 在 Doctrine QueryBuilder 中从 MySQL DATETIME 中检索日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45570002/

相关文章:

php - 如何使用 PHP 从另一个 IP 地址访问另一个 MySQL 数据库?

mysql - 有什么方法可以将 Prometheus 数据存储到外部数据库,如 mysql 或 postgreSQL

javascript - ajax、php 和 mysql 连接问题

Doctrine 2 : What is wrong with the association between these entities?

mysql - 在 sql 中计数 - 两个表

symfony - 从 symfony 2.0 升级到 2.3

symfony - Guzzle php http 客户端 cookies 设置

symfony - symfony2 是否可以使用双重身份验证?

php - 如果 where 子句是零整数,为什么 sql 查询返回一个值?

symfony - 有没有办法在 SQLFilter 中访问 symfony2 容器?