Ошибка при использовании формата: $ table-> date ('column_name') в Laravel - PullRequest
0 голосов
/ 23 апреля 2019

У меня проблемы с форматами даты в Laravel.У меня есть миграция базы данных, поле которой выглядит следующим образом:

$table->date('Date');

Затем в контроллере я пытаюсь заполнить это поле следующим содержанием:

2019-04-15

Но я получаю следующую ошибку:

invalid datetime format: 1292 Incorrect date value: '"2019-04-15"' for column 'Date' at row 1

Любая помощь, которая будет правильным способом объявления поля 'Дата' в базе данных, будет оценена.

Большое спасибозаранее.

Ответы [ 4 ]

0 голосов
/ 23 апреля 2019

Попробуйте с этим,

$table->date ? date('Y-m-d', strtotime($table->date)) : '-';

Вы должны преобразовать дату в строку, а затем применить к ней функцию даты для другого формата даты.

0 голосов
/ 23 апреля 2019

Попробуйте использовать Carbon для создания дат и отметок времени.

Будет сгенерирована временная метка для текущей даты и времени.

Carbon\Carbon::now();

Или вы можете проанализировать текущую дату и конвертировать ее в углеродную печать

Carbon\Carbon::parse($date)->toDateTimeString();

Документация: https://carbon.nesbot.com/docs/

0 голосов
/ 23 апреля 2019

Это работает с вашим делом:

 $date = "2019-04-15";

 $formatted_date = Carbon::createFromTimestamp(strtotime($date))->format('Y-m-d');

Вы можете проверить свою вставку.Я проверил это.Вы не столкнетесь с ошибкой 1292 Неправильная дата.

  DB::table('yourTable')->insert(['date'=> $formatted_date]);
0 голосов
/ 23 апреля 2019

Я полагаю, что это связано со строгим вводом даты в MySQL.

Проверьте эти ответы для получения дополнительной информации.

https://stackoverflow.com/a/47946950/1848660

https://stackoverflow.com/a/48998959/1848660

...