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 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
php bin/console doctrine:schema:update --dump-sql
Et j’ai le message :
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 mon entité Candidature (qui contient plein d’autres champs) :
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;
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
    /**
     * 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;
    }
Dans mon annotation ManyToOne, il faut bien que je mette l’entité cible Annonce, donc avec une majuscule ?

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 !