Проверка даты и вставка базы данных в Laravel 5 - PullRequest
0 голосов
/ 20 января 2019

У меня есть поля promo_starts_at и promo_ends_at в БД с типом date Дата вводится с помощью средства выбора даты начальной загрузки в следующем формате 01/20/2019

  "promo_starts_at" => "01/22/2019"
  "promo_ends_at" => "01/30/2019"

У меня есть следующеенабор правил в моем ProductManager:

if($parameters['type'] == 'integer'){ $data[$field] = intval($request->input($field)); }
if($parameters['type'] == 'string'){ $data[$field] = $request->input($field); }
if($parameters['type'] == 'decimal'){ $data[$field] = $request->input($field); }
if($parameters['type'] == 'text'){ $data[$field] = $request->input($field); }
if($parameters['type'] == 'bool'){ $data[$field] = $request->input($field) ? 1 : 0; }
if($parameters['type'] == 'date'){ $data[$field] =  date('Y-m-d', strtotime($request->input($field))); }

Кроме того, у меня также есть набор правил проверки:

    'promo_starts_at' => [
        'type' => 'date',
        'validation' => 'date'
    ],
    'promo_ends_at' => [
        'type' => 'date',
        'validation' => 'date'
    ]

По какой-то причине я не могу опубликовать дату в базе данных.

Я также пробовал разные правила проверки, такие как date_format:Y-m-d|after:today, но ничего не изменилось.

Я нашел исправление для этой проблемы, последнее правило должно быть изменено на следующее:

$data[$field] =  date('Y-m-d', strtotime($request->input($field)));

Это устранило проблему для меня.

1 Ответ

0 голосов
/ 24 января 2019

Я нашел решение этой проблемы, последнее правило должно быть изменено на следующее:

$data[$field] =  date('Y-m-d', strtotime($request->input($field)));

Это исправило проблему для меня.

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