【发布时间】:2019-09-29 03:49:06
【问题描述】:
我正在尝试在 Laravel 工厂中生成唯一的日期序列。例如:
2019-05-04
2019-05-05
2019-05-06
...
2019-07-04
我试过这个,每个日期出现 0 - n 次。
$faker->unique()->dateTimeBetween('-7 days', '+2 months')->format('Y-m-d'),
【问题讨论】:
我正在尝试在 Laravel 工厂中生成唯一的日期序列。例如:
2019-05-04
2019-05-05
2019-05-06
...
2019-07-04
我试过这个,每个日期出现 0 - n 次。
$faker->unique()->dateTimeBetween('-7 days', '+2 months')->format('Y-m-d'),
【问题讨论】:
你为什么不试试下面这样的随机日期时间:
'created_at' => $faker->dateTimeThisMonth(),
在一段时间内,正如文档所说,您必须按照以下方式进行操作:
dateTimeBetween($startDate = '-30 years', $endDate = 'now', $timezone = null) // DateTime('2003-03-15 02:00:49', 'Africa/Lagos')
这里有一个链接:
https://github.com/fzaninotto/Faker#fakerproviderdatetime
所以在你的情况下它
dateTimeInInterval($startDate = '-7 days', $interval = '+ 5 days', $timezone = null)
【讨论】:
unique() 修饰符仍然可以为单个日期产生多达 86,400 个重复值。