Bonjour à tous,
Sous Symfony 3.3.13, j’ai un problème sur une relation ManyToOne.
Dans mon projet, une annonce peut avoir plusieurs candidatures.
J’exécute la commande :
Et j’ai le message :
Code : Sélectionner tout - Visualiser dans une fenêtre à part php bin/console doctrine:schema:update --dump-sql
Voici mon entité Candidature (qui contient plein d’autres champs) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 [Doctrine\ORM\Mapping\MappingException] The target-entity testBunble\Entity\Annonce cannot be found in 'testBundle\ Entity\Candidature#annonce'.
Voici mes getters et setters dans mon entité pour le champ annonce :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 namespace testBundle\Entity; use Doctrine\ORM\Mapping as ORM; /** * Candidature * * @ORM\Table(name="candidature") * @ORM\Entity(repositoryClass="testBundle\Repository\CandidatureRepository") */ class Candidature { /** * @var int * * @ORM\Column(name="id", type="integer") * @ORM\Id * @ORM\GeneratedValue(strategy="AUTO") */ private $id; /** * @ORM\ManyToOne(targetEntity="testBunble\Entity\Annonce") * @ORM\JoinColumn(nullable=false) */ private $annonce;
Dans mon annotation ManyToOne, il faut bien que je mette l’entité cible Annonce, donc avec une majuscule ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 /** * Set annonce * * @param \testBunble\Entity\Annonce $annonce * * @return Candidature */ public function setAnnonce(\testBunble\Entity\Annonce $annonce) { $this->annonce = $annonce; return $this; } /** * Get annonce * * @return \testBunble\Entity\Annonce */ public function getAnnonce() { return $this->annonce; }
Je ne comprends pas le message d’erreur qui me dit que mon entité n’est pas trouvée dans 'testBundle\Entity\Candidature#annonce'.
Pourquoi dans ce message, j’ai annonce en minuscule ?
J’ai une coquille quelque part sur la casse ?
Ou c’est tout à fait autre chose ? Vous avez des idées ?
Merci d’avance pour votre aide !
Partager