Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

seeInRepository does not work with values from multiple relations

Ouverte
#7 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
45/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
php
Domaine
database, testing-qa

Piste de recherche

Commencez dans Codeception\Module\Doctrine2::_buildAssociationQuery et reproduisez le cas Doctor/Ordination présenté avec deux relations. Examinez pourquoi la collection imbriquée produit une Doctrine QueryException, puis vérifiez que seeInRepository accepte plusieurs valeurs de relation sans nécessiter d’appels séparés.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Example: a one-to-many relation (uni-directional, so implemented as many-to-many with join table):

    #[ManyToMany(targetEntity: Ordination::class, cascade: ['all'], orphanRemoval: true)]
    private Collection|ArrayCollection $ordinations;

Just for this example I save a Doctor entity with two Ordination relations with haveInRepository in my test.
But then there's no possibility to check for values of both ordinations

        $this->tester->seeInRepository(Doctor::class, [
            'name.firstName' => 'Mauris',
            'ordinations' => [
                [
                    'externalReferenceId' => '3'
                ]
            ]
        ]);

This leads to

 [Doctrine\ORM\Query\QueryException] [Syntax Error] line 0, col 140: Error: Expected Doctrine\ORM\Query\Lexer::T_IDENTIFIER, got '0'

because of the nested structure.
What works is a check for a single relation:

        $this->tester->seeInRepository(Doctor::class, [
            'name.firstName' => 'Mauris',
            'ordinations' => [
                'externalReferenceId' => '3'
            ]
        ]);

(so as a workaround, I could call the seeInRepository multiple times with a different relation's values …)

The problem is in the method \Codeception\Module\Doctrine2::_buildAssociationQuery
but I'm not really sure how to fix this for a PR. Anyone with more knowledge on this?

I guess this issue is somehow related to Codeception/module-doctrine#16

Langage dominant
PHP
Étoiles
4
Forks
2
Métriques de merge des PR
Aucune PR mergée en 30 j

Préparer son environnement

Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de Codeception/module-doctrine

Toutes les issues de Codeception/module-doctrine

Issues similaires

Plus d'issues PHP

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.