我正在使用Laravel 9,我想为我的users
表创建一个faker:
public function definition()
{
return [
'usr_first_name' => fake()->name(),
'usr_last_name' => fake()->name(),
'usr_user_name' => fake()->unique()->name(),
'usr_mobile_phone' => , // generates a unique phone number
'usr_password_hash' => Hash::make('123456'),
'usr_email_address' => $faker->unique()->safeEmail,
'email_verified_at' => now(),
'usr_is_superuser' => now(),
'usr_is_active' => 1,
'usr_str' => Str::random(10),
'remember_token' => Str::random(10),
];
}
如您所见,对于usr_mobile_phone
列,我需要添加一个唯一的移动的号码,其长度为第11个字符。
但我不知道是什么命令在作伪!
所以如果你知道,请告诉我,提前谢谢。
1条答案
按热度按时间0tdrvxhp1#
您可以使用
fake()->e164PhoneNumber()
方法获取带有加号和国家/地区代码的电话号码(E164 format),* 基于您可以自定义的应用程序区域设置 *。现在要得到唯一的电话号码我们可以合并使用
unique()
方法:fake()->unique()
这将为您提供唯一的电话号码:
输出示例:
+14809888523, +12705838722, +13869134701
...现在,根据您对11位数长度的要求,您可以替换加号:
请注意,不同的国家/地区有不同的国家/地区代码长度,这会导致输出的电话号码长度不同,您需要自行处理。
或者,您也可以使用
fake()->numerify()
方法,将格式传递给方法来产生动态格式编号,或使用预设格式###
:输出示例:
0733375159, 8270962398, 5125950018
...然后加入国家/地区代码: