0

您好,我尝试进行 OntToMany 和 ManyToOne 连接,但出现以下错误:

MySqlBundle\Entity\GENERAL\Categorie#SOCIETES 和 MySqlBundle\Entity\GENERAL\Societe#CATEGORIE 的映射相互不一致。

关联 MySqlBundle\Entity\GENERAL\Societe#CATEGOIE 指的是不存在的反边字段 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;

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

我没有放置 getter 和 setter,但如果你想要它们,没问题。

4

1 回答 1

1

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

 /**
 * @ORM\ManyToOne(targetEntity="Categorie", inversedBy="SOCIETES")
 * @ORM\JoinColumn(name="ID_CATEGORIE", referencedColumnName="ID")
 */
private $CATEGORIE;
于 2017-11-22T14:31:38.093 回答