Laravel 5

Overriding Relationship Factory

  • Avatar de Methos
    Membre depuis :
    06/05/2019
    Messages :
    25

    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

Vous ne pouvez pas répondre à ce sujet.