Как разобрать мошенника 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());