laravel 使用 Faker 数据填充

laravel 使用 Faker 数据填充

创建数据填充文件 php artisan make:seeder UsersTableSeeder;在这里插入图片描述

打开文件编辑
在这里插入图片描述

编辑数据填充内容
在这里插入图片描述

运行文件生成模拟数据
在这里插入图片描述

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”);

!!时间段 !!

s t a r t a t = C a r b o n : : c r e a t e F r o m T i m e s t a m p ( start_at = Carbon::createFromTimestamp( startat=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();
s t a r t t i m e = d a t e ( ′ H : i ′ , s t r t o t i m e ( start_time = date('H:i',strtotime( starttime=date(H:i,strtotime(start_at));
e n d t i m e = d a t e ( ′ H : i ′ , s t r t o t i m e ( end_time = date('H:i',strtotime( endtime=date(H:i,strtotime(end_at));
$time = $start_time . ‘-’ . $end_time;
1
2
3
4
5
!!生成日期数组 !!

$date = [];
$num = f a k e r − > r a n d o m D i g i t N o t N u l l ; f o r ( faker->randomDigitNotNull; for( faker>randomDigitNotNull;for(i=0; i < i< i<num;$i++){
$date[] = $faker->dateTimeThisYear(‘2021-01-01’)->format(‘Y-m-d’);
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值