0

我正在寻找为什么我的映射出现错误,但我真的没有看到。我在堆栈中添加了一些问题,但它对我不起作用。

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

其次,我还想知道为什么当我使用“doctrine:generate:entities ...”时,它没有给我地址的getter和setter,但对于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;

任何帮助将不胜感激。

4

2 回答 2

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;
于 2015-03-17T15:43:56.710 回答
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;

我认为您在 addressType 实体中的 Id 属性名称不是 AddressTypeID ,我不能写提交来问这个:(我希望这个工作给你打电话

于 2017-08-29T23:32:47.620 回答