项目中用到的Faker方法
1、为Faker指定中文支持
可通过在 config/app.php 增加如下配置使其支持中文:
'faker_locale' => 'zh_CN',
2、随机数
$faker->randomDigit;//生成0-9之间的随机数
$faker->randomDigitNotNull;//生成1-9之间的随机数
$faker->randomFloat(2, 0, 10);//生成浮点数,两位小数点,范围是0-10之间
$faker->numberBetween(0, 100);//生成随机整数,范围是0-100之间
$faker->randomElements(['a', 'b', 'c', 'd'], 2);//返回数组中的随机两个元素
$faker->randomElement(['aa', 'bb', 'cc', 'dd']);//随机返回数组中的一个元素
3、特定字段
$faker->unique()->name; //不重复的名字
$faker->sentence(); //返回句子
$faker->text(200);//返回一段文本,最多只能含有200个字符
$faker->address;//地址(城市+区)
$faker->phoneNumber;//手机号码
$faker->email;//返回一个随机邮箱
$faker->userName;//用户名
$faker->password;//密码
$faker->imageUrl();//https://lorempixel.com/640/480/?93028
//生成图片并保存到本地 '/tmp/13b73edae8443990be1aa8f1a483bc27.jpg'
$image = $faker->image('./tmp', 320, 320);
4、日期时间
$faker->dateTime;//返回一个随机的DateTime对象
$faker->date("Y-m-d H:i:s", 'now');//指定格式返回时间,可选择最后截止时间
$faker->dateTimeBetween('2019-01-01', 'now', 'PRC');//返回指定时间区间的DateTime对象,可选时区
$faker->dateTimeThisYear;//返回一个前一年内的DateTime对象
//转换格式
$faker->dateTimeThisYear('2021-01-01')->format('Y-m-d');
如果查出的数据是datetime类型的对象,想要转换成字符串显示则需要使用
$datetimeobj->format(“Y-m-d H:i:s.u”);
!!时间段 !!
$start_at = Carbon::createFromTimestamp($faker->dateTimeBetween($startDate = '+2 days', $endDate = '+1 week')->getTimeStamp())->toDateTimeString();
$end_at= Carbon::createFromFormat('Y-m-d H:i:s', $start_at)->addHours( $faker->numberBetween( 1, 2 ) )->toDateTimeString();
$start_time = date('H:i',strtotime($start_at));
$end_time = date('H:i',strtotime($end_at));
$time = $start_time . '-' . $end_time;
!!生成日期数组 !!
$date = [];
$num = $faker->randomDigitNotNull;
for($i=0;$i<$num;$i++){
$date[] = $faker->dateTimeThisYear('2021-01-01')->format('Y-m-d');
}
更多方法参考:Carbon生成日期数组
Carbon的时间类方法:Laravel—Carbon类常用函数
总结
更多Faker方法请参考:laravel中faker的方法总结