阅读(4696)
赞(10)
Laravel 8 定义内的关系
2021-07-08 16:55:47 更新
您可以将关系附加到工厂定义中的模型。例如,如果您想在创建 Post
时创建一个新的 User
实例,您可以这样做:
use App\Models\User;
/**
* Define the model's default state.
*
* @return array
*/
public function definition()
{
return [
'user_id' => User::factory(),
'title' => $this->faker->title,
'content' => $this->faker->paragraph,
];
}
如果关系的列取决于定义它的工厂,您可以提供一个接受求值属性数组的回调:
/**
* Define the model's default state.
*
* @return array
*/
public function definition()
{
return [
'user_id' => User::factory(),
'user_type' => function (array $attributes) {
return User::find($attributes['user_id'])->type;
},
'title' => $this->faker->title,
'content' => $this->faker->paragraph,
];
}