SQL Server + Eloquent преобразования времени и даты в запросе / результатах - PullRequest
1 голос
/ 23 апреля 2019

В моем проекте я использую Eloquent в качестве слоя БД.И у меня есть большая проблема с объектом datetime преобразования.

Существует 3 сервера:

  1. SQL Server
  2. Производство (PHP)
  3. Локальная разработка

Производствои локальная разработка подключается к SQL Server и отправляет запросы.

Часть запроса, в которой я работаю с datetime:

$builder->where("register.from", '>=', $filter->getDateFrom()->setTime(0, 0, 0))

->getDateFrom() возвращает \DateTime php-объект.

И на Linux-машине этот код работает нормально ... Но проблемы начинаются на локальной машине с win 10 и сервером xampp.

SQLSTATE [22007]: [Microsoft] [Драйвер ODBC 17 для SQL Server] [SQL Server] Преобразование типа данных nvarchar в тип данных datetime привело к значению вне допустимого диапазона.

Я сейчас на конечной линии.Кто-нибудь может помочь?

После удаления всех дат из запроса я получил то же сообщение о преобразовании данных, но в контексте 'id' ... У меня была проблема с 'id' как целыми числами в запросе для объединения таблиц ...

SQLSTATE [22018]: [Microsoft] [Драйвер ODBC 17 для SQL Server] [SQL Server] Не удалось выполнить преобразование при преобразовании значения nvarchar 'hladiny.IDENT_HL' в тип данных int.

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ:

На SQL Server есть пользователь с форматом даты по умолчанию: 'dmy' и языком по умолчанию 'čeština', но я много раз пробовал, он работает на 'en_english'.Драйвер sqlsrv предназначен для версии php 7.2 и является поточно-ориентированным для x86 (если я пробовал x64, он не работает)

Также я пытался установить ODBC 13. Те же результаты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...