seeInRepository does not work with values from multiple relations
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
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de Codeception/module-doctrine
-
Difficulté 3/5 1-2 jours Accessibilité débutants 38/100
-
Difficulté 4/5 3-5 jours Accessibilité débutants 30/100
-
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
Codeception/module-doctrine#2 · 1 commentaire · 1 réaction ·
-
Difficulté 3/5 1-2 jours Accessibilité débutants 42/100
-
Difficulté 3/5 1-2 jours Accessibilité débutants 64/100
Codeception/module-doctrine#6 · 1 commentaire ·
Toutes les issues de Codeception/module-doctrine
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
TYPO3BestPractices/tea#2409 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
api-platform/core#8690 ·
Les mainteneurs répondent en général sous 1 jour
-
No Code Attached Yet
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
joomla/joomla-cms#48626 ·
Les mainteneurs répondent en général sous 1 jour
-
enhancement good first issue
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
DorsetDigital/silverstripe-schema-manager#26 ·
Les mainteneurs répondent en général sous 1 jour
-
sync-en
Difficulté 1/5 1-3 heures Accessibilité débutants 68/100
Les mainteneurs répondent en général sous 4 jours