结束日期大于开始日期的Faker

时间:2016-02-19 15:00:18

标签: laravel faker laravel-seeding

我们正在为我们的Laravel应用程序使用Faker。对于表格,我们有两列,start dateend date。如何以end date始终大于start date

的方式致电faker

2 个答案:

答案 0 :(得分:2)

您可以执行以下操作:

'start_date' => $faker->date,
'end_date'   => $faker->dateTimeBetween($startDate = '-30 years', $endDate = 'now'),

答案 1 :(得分:2)

在您希望的时间内创建随机开始日期:

$start = $faker->dateTimeBetween('next Monday', 'next Monday +7 days');

然后使用返回的开始日期作为结束日期的最小输入,并确保结束日期的上限也在开始日期之后。

$end = $faker->dateTimeBetween($start, $start->format('Y-m-d H:i:s').' +2 days');

您也可以考虑使用Alice来创建使用漂亮且可读的YAML的灯具。您可以在Alice代码中使用变量来实现目标。

对于相对日期/时间语法结帐the PHP docs