首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Laravel faker从名字中产生性别

Laravel faker从名字中产生性别
EN

Stack Overflow用户
提问于 2017-03-31 10:16:08
回答 4查看 27.8K关注 0票数 10

使用faker生成性别的最佳方法是生成一个名称,以便性别与名称匹配。

代码语言:javascript
运行
复制
 return [
    'name' => $faker->name,
    'email' => $faker->safeEmail,
    'username' => $faker->userName,
    'phone' => $faker->phoneNumber,
    'gender' => $faker->randomElement(['male', 'female']),//the gender does not match the name as it is.
    'address' => $faker->address,
    'dob' => $faker->date($format = 'Y-m-d', $max = 'now'),
    'password' => bcrypt('secret')
    ];
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-03-31 10:27:47

查看文档和在他们的Github问题部分提出的一个问题,您的解决方案似乎是最好的。有些方法允许您指定名称的性别,这样您就可以这样做:

代码语言:javascript
运行
复制
$gender = $faker->randomElement(['male', 'female']);

return [
    'name' => $faker->name($gender),
    'email' => $faker->safeEmail,
    'username' => $faker->userName,
    'phone' => $faker->phoneNumber,
    'gender' => $gender,
    'address' => $faker->address,
    'dob' => $faker->date($format = 'Y-m-d', $max = 'now'),
    'password' => bcrypt('secret')
];

希望这符合你的要求。

票数 29
EN

Stack Overflow用户

发布于 2018-03-17 00:52:42

若要在不增加变量的情况下执行此操作,请如下所示

代码语言:javascript
运行
复制
return [
  'gender' => $faker->randomElements(['male', 'female']),
  'name' => $faker->name(function (array $user) {return $user['gender'];})
]

希望它能帮上忙

票数 4
EN

Stack Overflow用户

发布于 2018-04-09 01:23:37

  1. 方法randomElements将返回一个只有一个元素的数组,所以如果您想获得“女性”或“男性”,不要忘记在第一行的末尾添加:。您需要结果数组的第一个元素(索引0) (该数组只有一个元素)。 $gender =$faker->随机因素(“男性”,“女性”);
  2. 还有一件事。为了准确地获得所需的内容,需要使用firstName而不是name。这样,名字就会根据性别而定。这样做: 返回‘=> $faker->firstName($gender),’=> $faker->安全邮件,‘用户名’=> $faker->用户名,‘=> $faker->phoneNumber,’性别‘=> $gender,=> $faker--地址,’道布‘=> $faker->日期($format=’$max‘,$max=’现在‘),’=> bcrypt(‘秘密’);
  3. 最后一件事:如果你用的是“男性”和“女性”,而不是“男性”和“女性”,这是NOT
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43138197

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档