Symfony自定义日期时间类型不工作
我有以下配置,我试图处理在2005兼容模式下运行的SQLServer2008,datetime怪癖Symfony自定义日期时间类型不工作,symfony,datetime,doctrine-orm,sqlsrv,Symfony,Datetime,Doctrine Orm,Sqlsrv,我有以下配置,我试图处理在2005兼容模式下运行的SQLServer2008,datetime怪癖 === config.yml # Doctrine Configuration doctrine: dbal: types: datetime2005: AppBundle\ORM\DBAL\DateTime2005Type === DateTime2005Type.php namespace AppBundle\ORM\DBAL; use Doctrine\DBA
=== config.yml
# Doctrine Configuration
doctrine:
dbal:
types:
datetime2005: AppBundle\ORM\DBAL\DateTime2005Type
=== DateTime2005Type.php
namespace AppBundle\ORM\DBAL;
use Doctrine\DBAL\Types\DateTimeType as BaseDateTimeType;
use Doctrine\DBAL\Platforms\AbstractPlatform;
class DateTime2005Type extends BaseDateTimeType
{
public function convertToDatabaseValue($value, AbstractPlatform $platform)
{
die();
}
}
注意这里的die()。它应该停止执行我的应用程序,对吗
=== SomeEntity.php
/**
* @ORM\Column(name="ErzDate", type="datetime2005", nullable=true)
*/
private $createdAt;
党卫军
所以我的自定义日期时间没有加载,或者,我实现错误了。请帮忙
- 注册自定义条令类型的正确配置是什么
- 我应该(重新)实现哪些功能以使条令使用自定义 日期时间的格式
WHERE
子句。这意味着对象在水合作用后将具有转换后的值
使用DQL查询时,convertToPHPValueSQL和convertToDatabaseValueSQL方法仅适用于SELECT子句中的标识变量和路径表达式。WHERE子句中的表达式未包装!
如果要在WHERE子句中使用点值,则必须实现用户定义的函数
也许你可以按照他们的建议解决这个问题。:Facepalm:是的。就是这样。在该实体的回购协议中,我在
中插入了手动构建的日期。修正了这个问题,它又能工作了。大thx。
=== Rendered SQL & error:
An exception occurred while executing 'SELECT count(DISTINCT m0_.Ident) AS sclr0 FROM MedionOA3Requests m0_ WHERE m0_.Project LIKE ? AND m0_.ErzDate IS NOT NULL AND m0_.ErzDate >= ?' with params ["MANUALQUERY", "2016-02-13 00:00:00"]:
SQLSTATE [22007, 242]: [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Bei der Konvertierung eines nvarchar-Datentyps in einen datetime-Datentyp liegt der Wert außerhalb des gültigen Bereichs.