Php 如何在laravel的profile factory中提供唯一的用户id
自从这个“新”的更新出现在拉雷维尔(拉雷维尔8),我正在与工厂斗争。我需要关于如何在profile factory中从用户模型向用户id列提供唯一id的帮助。在我的用户模型中,我与配置文件有关系:Php 如何在laravel的profile factory中提供唯一的用户id,php,laravel,laravel-factory,Php,Laravel,Laravel Factory,自从这个“新”的更新出现在拉雷维尔(拉雷维尔8),我正在与工厂斗争。我需要关于如何在profile factory中从用户模型向用户id列提供唯一id的帮助。在我的用户模型中,我与配置文件有关系: public function profile() { return $this->hasOne(Profile::class); } 在剖面模型中: public function user() { return $this->belongsTo(User::class
public function profile()
{
return $this->hasOne(Profile::class);
}
在剖面模型中:
public function user()
{
return $this->belongsTo(User::class);
}
现在我必须向profile factory提供数据:
return [
'user_id' => ,
'image' => 'image',
'bio' => $this->faker->sentence,
...
如果仅在已有相应的
用户时创建配置文件
,则可以将用户id
从配置文件
工厂中移出,然后同时创建这两个配置文件
User::factory()->hassprofiles(1)->create();
这将自动创建与用户匹配的配置文件
或者,如果您确实需要在创建用户之前创建配置文件,您可以像这样定义用户id
,并且配置文件将创建用户
返回[
'user_id'=>user::factory(),
“图像”=>“图像”,
‘bio’=>this->faker->句子,
];
如何使用$this->faker->unique()->randomDigitNotNull代码>不能使用随机数字,因为当两个用户具有相同的ID时可能会导致错误:)它是一个外来ID,必须是唯一的。我想知道,当用户使用factory创建时,是否有方法创建配置文件:)我更喜欢第一种方法。所以,我只需要调用User::factory()。。。。在DatabaseSeeder中,在调用factory创建用户之后?目前,我有以下factory调用: