Исключение из базы данных FUELPHP: - Общая ошибка: 20018 Ошибка преобразования при преобразовании даты и / или времени из символьной строки - PullRequest
0 голосов
/ 21 июня 2019

Недавно я перенес свою кодовую форму vm в docker. Она работает хорошо в докере, за исключением некоторых операций с БД. Во время операции сохранения я получаю ошибку базы данных, связанную с MSSQL Дата и время.

Моя версия php 7.2.19 . И база данных MSSQL

Я попытался добавить запись "mssql.datetimeconvert = Off"в файле php.ini config.but он не работал для меня.

Также я скопировал SQL-запрос из сообщения об ошибке и выполнил его в базе данных с помощью инструмента HeidiSql. Он отлично работает с инструментом SQL.

тип столбца updated_at - DATETIME2 с NULL по умолчанию.

тип столбца invoice_date - DATE с NULL по умолчанию.

Тип столбца delinquent_date - DATE с NULL по умолчанию.

При отправке формы я получаю следующую ошибку.

 Fuel\Core\Database_Exception [ HY000 (20018) ]:
 SQLSTATE[HY000]: General error: 20018 Conversion failed when converting date and/or time from character string. [20018] (severity 16)
 [UPDATE "invoices" SET "invoice_date" = '0', "delinquent_date" = '2019-07-21', "updated_at" = '2019-06-21 00:10:16', "fd_amount" = 321.000000, "invoice_late_fee" = 0, "invoice_subtotal" = 338.000000, "invoice_total" = 338.000000 WHERE "id" = 134536] with query: 
  "UPDATE "invoices" SET "invoice_date" = '0', "delinquent_date" = '2019-07-21', "updated_at" = '2019-06-21 00:10:16', "fd_amount" = 321.000000, "invoice_late_fee" = 0, "invoice_subtotal" = 338.000000, "invoice_total" = 338.000000 WHERE "id" = 134536"
...