PHP Faker 在范围内生成唯一日期

sno*_*mad 2 php faker laravel

我正在尝试在 Laravel 工厂中生成唯一的日期序列。例如:

2019-05-04
2019-05-05
2019-05-06
...
2019-07-04
Run Code Online (Sandbox Code Playgroud)

我试过了,每个日期出现 0 - n 次。

$faker->unique()->dateTimeBetween('-7 days', '+2 months')->format('Y-m-d'),
Run Code Online (Sandbox Code Playgroud)

Far*_*had 5

你为什么不试试这个随机日期时间,如下所示:

        'created_at' => $faker->dateTimeThisMonth(),
Run Code Online (Sandbox Code Playgroud)

并且在一段时间内,正如文档所说,您必须执行以下操作:

dateTimeBetween($startDate = '-30 years', $endDate = 'now', $timezone = null) // DateTime('2003-03-15 02:00:49', 'Africa/Lagos')
Run Code Online (Sandbox Code Playgroud)

这是它的链接:

https://github.com/fzaninotto/Faker#fakerproviderdatetime
Run Code Online (Sandbox Code Playgroud)

所以在你的情况下

dateTimeInInterval($startDate = '-7 days', $interval = '+ 5 days', $timezone = null) 
Run Code Online (Sandbox Code Playgroud)