Сохранение углерода из строки в MySQL - PullRequest
0 голосов
/ 29 мая 2019

У меня проблемы с сохранением метки времени в моей базе данных MySQL.В этом случае пользователь записывает дату в текстовое поле в формате дд / мм / гггг, и я хочу, чтобы она сохранялась как отметка времени.

Проблема в том, что она всегда жалуется на неправильнуюформат.

Пока что я пробовал:

$d = DateTime::createFromFormat("d/m/Y H:i:s", $request['b_date'] . " 00:00:00");

// or
$d = Carbon::parse($request['b_date']);

// or

$d = Carbon::createFromFormat("d/m/Y H:i:s", $request['b_date'] . " 00:00:00");

// so that I can
$p->b_date = $d;

Но это никогда не позволяет мне сохранить его.Вот журнал:

[2019-05-29 15:14:02] local.ERROR: SQLSTATE[22007]: Invalid datetime format: 1292 Incorrect datetime value: '1111-11-11 00:00:00' for column 'b_date' at row 1 ...

Я пытался делать это часами.Чего мне не хватает?

И как '1111-11-11 00:00:00' может быть недопустимым значением даты и времени?

1 Ответ

0 голосов
/ 30 мая 2019

Объявление типа данных как DateTime в скрипте миграции работает для меня.

    ...

    Schema::create(...

        $table->dateTime('b_date'); // use dateTime instead of timestamp

        ...

Установка с карбоном в контроллере:

...

$p->b_date = Carbon::createFromFormat("d/m/Y H:i:s", $input['b_date'] . " 00:00:00");

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