Symfony 2.6映射错误OneToMany反侧字段

时间:2015-03-17 14:26:49

标签: doctrine-orm mapping symfony-2.6

我正在搜索为什么我的地图出错,但我真的不明白。我在堆栈中重写了一些问题,但它对我没用。

错误: 关联CTC \ Bundle \ UserBundle \ Entity \ Address#addressType是指不存在的反面字段CTC \ Bundle \ AdminBundle \ Entity \ AddressType#地址。

其次,我也想知道为什么当我使用我的" doctrine:generate:entities ..."时,它并没有给我地址的getter和setter,但是对于addressType来说也是如此。

这是我的映射代码:

类AddressType

...

/*
     * @var array
     * 
     * @ORM\OneToMany(targetEntity="CTC\Bundle\UserBundle\Entity\Address", mappedBy="addressType")
     *
     */
    private $addresses;


    public function __construct()
    {
        $this->addresses = new ArrayCollection();
    }
...

班级地址

/**
     * @ORM\ManyToOne(targetEntity="CTC\Bundle\AdminBundle\Entity\AddressType", inversedBy="addresses")
     * @ORM\JoinColumn(name="addressTypeID", referencedColumnName="AddressTypeID")
     */
    private $addressType;

任何帮助都会非常感激。

2 个答案:

答案 0 :(得分:1)

好的,这只是*!

的问题

在AddressType类中,我改变了这个

/*
* @var array
* 
* @ORM\OneToMany(targetEntity="CTC\Bundle\UserBundle\Entity\Address", mappedBy="addressType")
*
*/
private $addresses;

通过此

我只需添加一个" "在" / "之后一切正常!

/**
* @var array
* 
* @ORM\OneToMany(targetEntity="CTC\Bundle\UserBundle\Entity\Address", mappedBy="addressType")
*
*/
private $addresses;

答案 1 :(得分:0)

    /*
         * @var array
         * 
         * @ORM\OneToMany(targetEntity="CTC\Bundle\UserBundle\Entity\Address", mappedBy="addressType", cascade={"persist","remove"})
         *
         */
        private $addresses;


        public function __construct()
        {
            $this->addresses = new ArrayCollection();
        }


/**
     * @ORM\ManyToOne(targetEntity="CTC\Bundle\AdminBundle\Entity\AddressType", inversedBy="addresses")
     * @ORM\JoinColumn(name="addressTypeID", referencedColumnName="id")
     */
    private $addressType;

我认为你在地址类型实体中的Id的属性名称不是AddressTypeID,我不能写提交问这个:(我希望这个工作电话你