Laravel,Faker - 增量生成dateTime [英] Laravel, Faker - Increment generated dateTime

查看:1171
本文介绍了Laravel,Faker - 增量生成dateTime的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



每个事件都有 starts_at ends_at 字段。我想使用 starts_at生成的 ends_at 字段填充一个 DateTime ,最好是1到8个小时,甚至一个固定的1小时的差异会很好。

解决方案

这里是一个简单的方法来定义ends_at

  $ starts_at = Carbon :: createFromTimestamp($ faker-> dateTimeBetween($ startDate ='+2 days',$ endDate ='+1 week') - > getTimeStamp()); 

$ ends_at = Carbon :: createFromFormat('Y-m-d H:i:s',$ starts_at) - > addHours($ faker-> numberBetween(1,8));


I'm using Faker package in my Seeder to generate fake data for training events.

Each event has starts_at and ends_at fields. I want to populate the ends_at field with a DateTime that is after the one generated for starts_at, preferably by 1 to 8 hours, or even a fixed 1 hour difference would be fine.

解决方案

here is an easy way to define the ends_at

$starts_at = Carbon::createFromTimestamp($faker->dateTimeBetween($startDate = '+2 days', $endDate = '+1 week')->getTimeStamp()) ;

$ends_at= Carbon::createFromFormat('Y-m-d H:i:s', $starts_at)->addHours( $faker->numberBetween( 1, 8 ) );

这篇关于Laravel,Faker - 增量生成dateTime的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆