Laravel - Мутаторы даты и формат - PullRequest
0 голосов
/ 27 мая 2020

Я пытаюсь понять мутатор дат в Laravel 7.

Моя проблема: я разрабатываю API, и у меня есть даты для хранения, отправленные в формате d/m/Y

Итак в своей модели я поставил:

/**
 * @var array
 */
protected $fillable = ['type', 'calendar_start', 'calendar_end', 'all_day', 'deleted_at'];

/**
 * @var array
 */
protected $casts = [
    'calendar_start'  => 'date:d/m/Y',
    'calendar_end' => 'date:d/m/Y',
];

Затем я хочу сделать: MyModel::create($request->all());

Где calendar_start и calendar_end - даты в формате d/m/Y

Но у меня ошибка:

Недопустимый формат даты и времени: 1292 Неправильное значение даты: '01/01/2020' для столбца 'calendar_start'

Итак, сделайте Мне нужно отформатировать запрос? Есть ли способ сделать его общим c?

1 Ответ

0 голосов
/ 27 мая 2020

Форматы даты

По умолчанию временные метки имеют формат Ymd H: i: s . Если вам нужно настроить формат метки времени, установите свойство $ dateFormat в своей модели . Это свойство определяет, как атрибуты даты хранятся в базе данных, а также их формат при сериализации модели в массив или JSON:

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

Вы также можете использовать Аксессоры и мутаторы

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