Установка формата даты с помощью Laravel - PullRequest
0 голосов
/ 20 марта 2020

Я пытаюсь установить формат даты как (dmY), но в сообщении об ошибке говорится следующее:

SQLSTATE [22007]: недопустимый формат даты и времени: 1292 Неверное значение даты: '20 -03-2020 '

Ниже приведен код проверки моего контроллера

   $request->validate([

       'date' => 'required|date_format:d-m-Y',    
   ]);

Я также попытался установить формат в моей модели, что также было бесполезно

protected $dateFormat = 'd-m-Y';

Как установить формат даты_

1 Ответ

1 голос
/ 20 марта 2020

Согласно документации, настройка $dateFormat в вашей модели «определяет, как атрибуты даты хранятся в базе данных». Установка его в значение, которое конфликтует с форматом даты вашей базы данных, конечно, приведет к SQL ошибкам, которые вы видите. Поэтому оставьте это в покое.

Добавление свойства в массив $dates обеспечит его автоматическое преобразование в объект Carbon при установке и правильное форматирование при сохранении:

protected $dates = ['myproperty'];

Это работает прозрачно, потому что Carbon принимает d-m-Y в качестве формата для создания объектов.

...