Laravel 5

Overriding Relationship Factory

Avatar de Methos
Methos

Bonjour à tous,

J'essaie de créer une prédiction dans ma bdd en overridant (nouveau mot :p ) la relation oneToMany avec le model Nom. Tous se passe bien sauf qu'il me créait deux noms alors que j'aimerais qu'il n'y en ai qu'un seul ...

voila la création de mon Model prediction dans mon test

factory(Prediction::class)->create(
    ['birthday' => '2020-02-12', 'name_id' => factory(Name::class)->create(['name' => 'Charles', 'genre' => 'M'])]
);

Voila mon Factory Prédiction

  $factory->define(Prediction::class, function (Faker $faker) {
    return [
        'birthday' => $faker->dateTimeBetween('+4 month', '+5 month'),
        'weight' => $faker->randomFloat(1, 3, 5),
        'height' => $faker->numberBetween(35, 55),
        'name_id' => $name = factory(Name::class)->create(),
        'game_id' => 1,
        'genre' => $name->genre,
        'participant_id' => factory(Participant::class)->create()
    ];
});

et mes fonctions de relation pour name et prediction:

public function games() {
    return $this->belongsToMany(Game::class)->withPivot('nb_use');
}

    public function names() {
    return $this->belongsToMany('App\Name')->withPivot('nb_use');
}

Je pense avoir indiqué tous ce dont vous avez besoin pour m'aider :D Merci d'avance

Methos

Posté il y a 6 mois

Vous ne pouvez pas répondre à ce sujet.