2016-03-31 10 views
0

Ich habe 3 Tabelle:Erste Mapping Fehlermeldung Symfony2

Veranstaltungen:

  • id
  • typeEvents
  • genreEvents
  • ...

TypeEvents:

  • id
  • Typ
  • Beschreibung
  • ...

GenreEvents:

  • id
  • So 210
  • Genre
  • Beschreibung
  • ...

, ich möchte eine Beziehung-Schiff zwischen diesen drei Tabellen erstellen, aber ich bekomme Fehler-Mapping-Nachricht im Profiler:

Bissap \ BenevolesBundle \ Entity \ Events

The mappings BISSAP\BenevolesBundle\Entity\Events#typeEvents and BISSAP\BenevolesBundle\Entity\TypeEvents#events are inconsistent with each other. 
The mappings BISSAP\BenevolesBundle\Entity\Events#genreEvents and BISSAP\BenevolesBundle\Entity\GenreEvents#events are inconsistent with each other. 

Bissap \ BenevolesBundle \ Entity \ TypeEvents

The association BISSAP\BenevolesBundle\Entity\TypeEvents#events refers to the owning side field BISSAP\BenevolesBundle\Entity\Events#typesEvents which does not exist. 

Bissap \ BenevolesBundle \ Entity \ GenreEvents

The association BISSAP\BenevolesBundle\Entity\GenreEvents#events refers to the owning side field BISSAP\BenevolesBundle\Entity\Events#genresEvents which does not exist. 

events.php

class Events 
{ 
    /** 
    * @var integer 
    * 
    * @ORM\Column(name="id", type="integer") 
    * @ORM\Id 
    * @ORM\GeneratedValue(strategy="AUTO") 
    */ 
    private $id; 

    /** 
    * 
    * @ORM\ManyToOne(targetEntity="TypeEvents", inversedBy="events", cascade={"persist"}) 
    * 
    */ 
    private $typeEvents; 

    /** 
    * 
    * @ORM\ManyToOne(targetEntity="GenreEvents", inversedBy="events", cascade={"persist"}) 
    * 
    */ 
    private $genreEvents; 

    /** 
    * 
    * @ORM\ManyToOne(targetEntity="BISSAP\UserBundle\Entity\User", inversedBy="events", cascade={"persist"}) 
    * 
    */ 
    private $user; 
    [...] 

TypeEvents.php

class TypeEvents 
{ 
    /** 
    * @var integer 
    * 
    * @ORM\Column(name="id", type="integer") 
    * @ORM\Id 
    * @ORM\GeneratedValue(strategy="AUTO") 
    */ 
    private $id; 

    /** 
    * @var ArrayCollection $events 
    * @ORM\OneToMany(targetEntity="Events", mappedBy="typesEvents", cascade={"persist", "remove", "merge"}) 
    */ 
    private $events; 
    [...] 

GenreEvents.php

class GenreEvents 
{ 
    /** 
    * @var integer 
    * 
    * @ORM\Column(name="id", type="integer") 
    * @ORM\Id 
    * @ORM\GeneratedValue(strategy="AUTO") 
    */ 
    private $id; 

    /** 
    * @var ArrayCollection $events 
    * @ORM\OneToMany(targetEntity="Events", mappedBy="genresEvents", cascade={"persist", "remove", "merge"}) 
    */ 
    private $events; 
    [...] 

Ich konnte im symfony doc sehen =>One-To-Many, unidirektional Tabelle JOIN mit, aber ich möchte nicht eine andere Tabelle auf diese einfache Beziehung bekommen ...

was denkst du?

Antwort

0

Sie haben einen kleinen Fehler. In Events haben Sie private $typeEvents; und in TypeEvents haben Sie mappedBy="typesEvents", es gibt einen Unterschied von 's'. Gleiches für GenreEvents