Как разобрать мошенника dateTimeBetween с Carbon в laravel

Я генерирую фальшивые даты между определенным интервалом с фейером. Результат сгенерированных дат TIMESTAMP формиат. Мне нужно отформатировать его как 'Ymd' для вставки в таблицу базы данных MySQL.

$events = $faker->dateTimeBetween('-30 days', '+30 days');
$dateFormate = Carbon::createFromTimestamp('Y-m-d H:i:s', $events )->format('Y-m-d');

Но во время заполнения базы данных это дает ошибку

 [ErrorException]
  A non well formed numeric value encountered

1 ответ

Решение

Вы используете и углерод, и результат от фейера неправильно (вам вообще не нужно использовать углерод).

Этот ряд:

$events = $faker->dateTimeBetween('-30 days', '+30 days');

возвращает экземпляр DateTime. Если вы хотите получить дату в формате "Ymd" из экземпляра DateTime, все, что вам нужно сделать, это позвонить DateTime:format():

$dateFormate = $events->format('Y-m-d');

Это должно дать вам дату в нужном вам формате.

Это вернет углеродный экземпляр.

$date = \Carbon\Carbon::createFromTimeStamp($faker->dateTimeBetween('now', '+7 days')->getTimestamp());
Другие вопросы по тегам