【问题标题】:PHP Faker generate unique dates in rangePHP Faker 生成范围内的唯一日期
【发布时间】: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'),

【问题讨论】:

    标签: php laravel faker


    【解决方案1】:

    你为什么不试试下面这样的随机日期时间:

            '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) 
    

    【讨论】:

    • 这不是在回答问题。它产生一个 dateTIME,因此使用 unique() 修饰符仍然可以为单个日期产生多达 86,400 个重复值。
    猜你喜欢
    • 2012-10-24
    • 1970-01-01
    • 2019-01-30
    • 2022-01-18
    • 1970-01-01
    • 2019-12-04
    • 1970-01-01
    • 1970-01-01
    • 2011-12-11
    相关资源
    最近更新 更多