У меня есть следующая конфигурация, где я пытаюсь обрабатывать SQL Server 2008, запущенный в 2005 году, режим совместимости, datetime quirks.Symfony custom doctrine datetime type not working
=== 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();
}
}
Обратите внимание, этот кубик() там. Это должно прекратить выполнение моего приложения, верно?
=== SomeEntity.php
/**
* @ORM\Column(name="ErzDate", type="datetime2005", nullable=true)
*/
private $createdAt;
сс
=== 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.
Так что мой заказ дата и время не было загружена или я реализацией это неправильно. Пожалуйста помоги.
- Что такое надлежащая конфигурация для регистрации пользовательских типов доктрины?
- Какие функции я должен использовать (re), чтобы заставить Doctrine использовать настраиваемый формат для datetime?
: Facepalm: Да. Вот и все. В моем репо для этой сущности я вставлял дату вручную в 'Where'. Исправлено это, и он снова работает. Большой thx. –