Доктрина 2 - Проблемы с уровнем доступа при использовании наследования таблицы классов

Я пытаюсь реализовать Наследование таблицы классов Doctrine 2, которое предлагает в моем проекте Symfony 2. Допустим, у вас есть класс Pizza , Класс Burito и класс MacAndCheese , которые все наследуют от класса Food .

Класс Food имеет следующие настройки:

 "MacAndCheese"})
 */
class Food {

/**
 * @ORM\Id
 * @ORM\Column(type="integer")
 * @ORM\GeneratedValue(strategy="AUTO")
 */
protected $id;

И унаследованные классы имеют эти настройки (например, Pizza ):

При запуске doctrine: schema : update --force из приложения / консоли Symfony 2 Я получаю сообщение об уровне доступа $ id в дочерних элементах Food ( Pizza например), заявив, что он должен быть защищен или слабее. Я нигде не объявлял $ id в Pizza , так как рассчитывал, что он будет унаследован от Food .

Итак, я попытался объявить $ id , но это дало мне ошибку, потому что я не могу повторно объявить $ id. Полагаю, мне нужна какая-то ссылка на $ id из Еда в Пицца , но документация Doctrine 2 на самом деле не дала мне четкого ответа на то, как это будет выглядеть.

Надеюсь, вы понимаете, что я имею в виду, и можете мне помочь.

7
задан j0k 20 September 2012 в 07:33
поделиться