Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Symfony 在条令中使用间隔时出错_Symfony_Symfony 4.2 - Fatal编程技术网

Symfony 在条令中使用间隔时出错

Symfony 在条令中使用间隔时出错,symfony,symfony-4.2,Symfony,Symfony 4.2,当我使用下面的查询(原则2)时,我得到了错误,不能在查询中使用间隔 $qb->andWhere("(pv.appointment_date + INTERVAL 48 HOUR) >= UTC_TIMESTAMP()"); 错误:预期的条令\ORM\Query\Lexer::T_CLOSE_括号,得到'48'条令是一种使用DQL的ORM,它与SQL不同。默认情况下,并非SQL中的所有函数都受doctine支持。DQL不支持INTERVAL。为此,您必须添加用户定义的函数 此git

当我使用下面的查询(原则2)时,我得到了错误,不能在查询中使用间隔

$qb->andWhere("(pv.appointment_date + INTERVAL 48 HOUR) >= UTC_TIMESTAMP()");

错误:预期的条令\ORM\Query\Lexer::T_CLOSE_括号,得到'48'条令是一种使用DQL的ORM,它与SQL不同。默认情况下,并非SQL中的所有函数都受doctine支持。DQL不支持INTERVAL。为此,您必须添加用户定义的函数

此git repo中提供了一整套功能


并且上面的查询将变成
DATE\u ADD(pv.appointment\u DATE,INTERVAL 48 HOUR)>=UTC\u TIMESTAMP()

如果您想在mysql comumn字段上使用INTERVAL(在原则2,DQL中),您可以如下使用

$qb->andWhere("DATE_ADD(pv.appointmentDate,48,'hour') >= UTC_TIMESTAMP()");
...... DATE_ADD(p0_.appointmentDate, INTERVAL 48 HOUR) >= UTC_TIMESTAMP() .....
它将按如下方式打印SQL

$qb->andWhere("DATE_ADD(pv.appointmentDate,48,'hour') >= UTC_TIMESTAMP()");
...... DATE_ADD(p0_.appointmentDate, INTERVAL 48 HOUR) >= UTC_TIMESTAMP() .....

我不想冒犯你,但是你有没有查阅过关于这方面的文档?在,它非常清楚地告诉你可以在DQL中使用什么-这不是SQL