Je veux trouver le nom du champ joint mais je n'ai pas trouvé comment l'obtenir. J'ai un scenerio comme ça. J'ai 2 table par exemple Utilisateur et rôles. Dans l'entité utilisateur, il y a un champ Rôles qui est une collection. J'ai besoin d'une méthode qui récupère un objet relaché par un paramètre (Roles) et qui doit renvoyer role_id qui est la clé étrangère de l'utilisateur. Je n'ai trouvé aucune méthode.Doctrine 2 obtenir le nom du champ de jointure
-1
A
Répondre
0
En supposant que vos entités sont déclarées comme ci-dessous:
/**
* @ORM\Entity
*/
class User
{
/**
* @ORM\ManyToMany(targetEntity="Role")
*/
private $roles;
/**
* @return \Doctrine\Common\Collections\Collection
*/
public function getRoles()
{
return $this->roles;
}
// Other fields and methods
// ...
}
/**
* @ORM\Entity
*/
class Role
{
/**
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @return integer
*/
public function getId()
{
return $this->id;
}
// Other fields and methods
// ...
}
Vous pouvez appeler Collection#map()
pour récupérer les ID:
$user = $this->getUser();
$roleIDs = $user->getRoles()->map(function (Role $role) {
return $role->getId();
});
Une autre option est d'utiliser la connexion Doctrine pour obtenir des résultats bruts.
Questions connexes
- 1. doctrine 2 jointure gauche
- 2. Doctrine 2 table de jointure + champs supplémentaires
- 3. Doctrine 2 - requête de jointure externe
- 4. doctrine 2 jointure interne problèmes
- 5. Doctrine 2 auto requête de jointure
- 6. doctrine 2 relation manytoone avec nom de champ personnalisé
- 7. Doctrine 2 ManyToOne avec jointure Table
- 8. Doctrine Symfony ManyToMany ajouter un champ de jointure personnalisé
- 9. Comment obtenir le nom du champ
- 10. json obtenir le nom du champ
- 11. Doctrine recherche nom complet dans 2 champs
- 12. Jointure d'une entité Symfony 2 ou requête de doctrine jointe
- 13. SQL rejoindre pour obtenir le nom du champ
- 14. Doctrine 2: Enregistrer un champ 'date'
- 15. Doctrine entité de jointure commune
- 16. Doctrine 2 Champ ORM DateTime en identifiant
- 17. Doctrine 2: GROUP BY champ erreur
- 18. Obtenir le nom du champ et la valeur: Simplifié ver
- 19. Symfony 2/Doctrine 2: obtenir les modifications de PersistentCollection
- 20. Doctrine pleine jointure externe
- 21. Obtenir le nom du champ modèle dans le modèle
- 22. Jointure SQL lorsqu'un nom de champ est le même
- 23. type booléen avec doctrine doctrine 2 DQL
- 24. Joindre en fonction d'une deuxième jointure non liée, doctrine 2
- 25. Doctrine 2, comment obtenir une propriété dans un jeu de résultats jointure à gauche?
- 26. Doctrine Fixtures: getOrder() avec tables de jointure
- 27. Obtenir le champ du nom du formulaire interactif pdf
- 28. ZF2 Doctrine 2 ObjectSelect avec distinct sur le champ
- 29. Doctrine 2 obtenir le vrai nom de classe de la classe proxy
- 30. Doctrine 2 ORDER BY le champ d'un joinTable
Je n'ai pas besoin de l'identifiant, j'ai besoin du nom de la colonne de la clé étrangère. Je suis dans "role_id" que je dois acquérir. @Florent – GirginSoft