Php 匹配Laravel 7中的工厂值

Php 匹配Laravel 7中的工厂值,php,laravel,faker,Php,Laravel,Faker,下午好 我试图创建一个Laravel工厂,其中2个“列”在每次调用时具有相同的值,工厂的其余部分可以是随机的 例如,我的数据库中有以下列 name email phone_number status_message status_code 我目前拥有如下工厂: $factory->define(Brand::class, function (Faker $faker) { return [ 'name' => $faker->unique()->

下午好

我试图创建一个Laravel工厂,其中2个“列”在每次调用时具有相同的值,工厂的其余部分可以是随机的

例如,我的数据库中有以下列

name
email
phone_number
status_message
status_code
我目前拥有如下工厂:

$factory->define(Brand::class, function (Faker $faker) {
    return [
        'name' => $faker->unique()->company,
        'email' => $faker->companyEmail,
        'phone_number' => $faker->phoneNumber
    ];
});
这一部分工作得很完美,问题是每个特定的状态消息都有一个单独的状态代码。是否有一种方法可以添加一组带有状态代码的状态消息,并让工厂为该记录随机选择一组

下面以数组格式列出了状态代码/消息

[
   '3e2s' => 'tangled web',
   '29d7' => 'get certified',
   '2r5g' => 'art of war',
]

我希望这是有道理的。非常感谢您的帮助。

据我所知,您需要从上面提到的数组中随机选取

$factory->define(品牌::类,函数)(Faker$Faker){
$data=[
“3e2s”=>“缠结网络”,
“29d7”=>“获得认证”,
“2r5g”=>“战争艺术”,
];
$statusCode=array\u rand($data);
$statusMessage=$data[$statusCode];
返回[
'name'=>$faker->unique()->公司,
“电子邮件”=>$faker->companyEmail,
“电话号码”=>$faker->phoneNumber,
“状态消息”=>$statusMessage,
“状态代码”=>$statusCode,
];
});

如果您随机选取一条记录,这与每次都有相同值的两个字段如何相同?@KamleshPaul-这只是一个HTTP状态列表codes@lagbox这两个字段需要匹配,即如果状态代码为3e2s,则状态消息必须为“缠结网络”