I have simple question.
How could I write a Factory that let me defines relationships that use make()
or create()
depending on original call make()
or create()
?
It is my use case:
I have a simple factory
/** @var $factory Illuminate\Database\Eloquent\Factory */
$factory->define(App\User::class, function (Faker $faker) {
return [
'role_id' => factory(Role::class),
'name' => $faker->name,
'email' => $faker->unique()->safeEmail,
'password' => 'secret',
];
});
My problem is with that role_id. When using factory(Role::class)
, it will create a Role always! Writing in Database...
In my tests, when I write factory(User::class)->create();
It will create an User and Role, thats ok!
But if I write factory(User::class)->make();
It will still create a Role... I wont write in Database a Role when using make()
, in that case, I just want a simple role_id => 0
.
How could I achieve that?
Thanks!
Aucun commentaire:
Enregistrer un commentaire