Ошибки сопоставления Symfony 2.6 Поле обратной стороны OneToMany

Я ищу, почему я получаю сообщение об ошибке, но я действительно не вижу. Я исправил некоторые проблемы в стеке, но это не работает для меня.

Ошибка: Ассоциация CTC\Bundle\UserBundle\Entity\Address#addressType относится к полю обратной стороны CTC\Bundle\AdminBundle\Entity\AddressType#addresses, которого не существует.

Во-вторых, мне также интересно, почему, когда я использую свою "doctrine:generate:entities...", это не дает мне геттер и сеттер для адресов, но хорошо для 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;

Любая помощь будет очень признательна.


person Benjamin Lucas    schedule 17.03.2015    source источник


Ответы (2)


Хорошо, это была просто проблема * !

В классе 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;
person Benjamin Lucas    schedule 17.03.2015

    /*
         * @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 внутри объекта addressType не равно AddressTypeID , я не могу написать фиксацию, чтобы спросить об этом :( Надеюсь, этот рабочий телефон вам

person Farshadi    schedule 29.08.2017