Symfony - 映射彼此不一致 - 关联指的是不存在的反向字段

时间:2017-11-22 14:23:35

标签: entity-framework symfony symfony3.x

您好我尝试在OntToMany上创建ManyToOne连接但我有以下错误:

  

映射MySqlBundle \ Entity \ GENERAL \ Categorie#SOCIETES和MySqlBundle \ Entity \ GENERAL \ Societe#CATEGORIE彼此不一致。

     

关联MySqlBundle \ Entity \ GENERAL \ Societe#CATEGORIE指的是不存在的反面字段MySqlBundle \ Entity \ GENERAL \ Categorie#Societe。

我的分类实体:

/**
 * @ORM\Table(name="Categorie")
 * @ORM\Entity(repositoryClass="MySqlBundle\Repository\GENERAL\Categories_Repository")
 */
class Categorie
{
    public function __construct() {
        $this->SOCIETES = new ArrayCollection();
    }

   /**
     * @var integer
     *
     * @ORM\Column(name="ID", type="integer", nullable=false)
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
   public $Id;

   /**
     * @var text
     *
     * @ORM\Column(name="DESCRIPTION", type="text", nullable=true)
     */
   public $DESCRIPTION;

   /**
     * @var integer
     *
     * @ORM\Column(name="ORDRE", type="integer", nullable=false)
     */
   public $ORDRE;   

   /**
     * @ORM\OneToMany(targetEntity="Societe", mappedBy="CATEGORIE")
     */
    private $SOCIETES;

我的社会实体:

/**
 * @ORM\Table(name="Societe")
 * @ORM\Entity(repositoryClass="MySqlBundle\Repository\GENERAL\Societe_Repository")
 */
class Societe
{
   /**
     * @var integer
     *
     * @ORM\Column(name="ID", type="integer", nullable=false)
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
   public $Id;

   /**
     * @var string
     *
     * @ORM\Column(name="NOM", type="string", length=255)
     */
   public $NOM;

    /**
     * @var string
     *
     * @ORM\Column(name="INFO", type="string", length=255, nullable=true)
     */
   public $INFO;

   /**
     * @var string
     *
     * @ORM\Column(name="HOST", type="string", length=255, nullable=true)
     */
   public $HOST;

   /**
     * @var string
     *
     * @ORM\Column(name="NOM_USER", type="string", length=255, nullable=true)
     */
   public $NOM_USER;

   /**
     * @var string
     *
     * @ORM\Column(name="MDP", type="string", length=255, nullable=true)
     */
   public $MDP;

   /**
     * @ORM\ManyToOne(targetEntity="Categorie", inversedBy="Societe")
     * @ORM\JoinColumn(name="ID_CATEGORIE", referencedColumnName="ID")
     */
    private $CATEGORIE;

如果您有任何想法,我已经检查了拼写(通过复制和粘贴),即使再次阅读错误,我也无法纠正错误。

我没有把吸气剂和制定者放在一起,但如果你想要它们,没问题。

1 个答案:

答案 0 :(得分:1)

您必须匹配名称。在这种情况下,您想要像这样大写“SOCIETES”:

 /**
 * @ORM\ManyToOne(targetEntity="Categorie", inversedBy="SOCIETES")
 * @ORM\JoinColumn(name="ID_CATEGORIE", referencedColumnName="ID")
 */
private $CATEGORIE;