Doctrine2 - discriminatorColumn and joined

Решил я заиспользовать наследование классов и вроде бы все правильно прописал в yml:

My\Entity\B2b:
  type: entity
  table: b2b
  inheritanceType: joined
  discriminatorColumn:
    name: type
    type: string
  discriminatorMap:
    company: B2bCompany
    entrepreneur: B2bEntrepreneur
  id:
    id:
      type: integer
      generator:
        strategy: AUTO
  fields:
    name:
      column: name
      type: string
      length: 256
      nullable: false
My\Entity\B2bCompany:
  type: entity
  table: b2b_company
  fields:
    fullName:
      column: full_name
      type: string
      length: 256
      nullable: false
My\Entity\B2bEntrepreneur:
  type: entity
  table: b2b_entrepreneur
  fields:
    passport:
      column: passport
      type: string
      length: 256
      nullable: false

и выполнил команду:

bin/doctrine orm:generate-entities src

но doctrine выдала ошибку:

[Doctrine\ORM\Mapping\MappingException]
Entity class 'My\Entity\B2bCompany' used in the discriminator map of class 'My\Entity\B2b' does not exist.

Методом тыка выяснил, что сначала нужно

  1. убрать описание джоина и дискриминатора (см. выше)
  2. автосгенерить сущности
  3. прописать:
  4. class B2bCompany extends B2b
  5. class B2bEntrepreneur extends B2b
  6. и затем обратно возвратить описание джоина и дискриминатора (см. выше).

готово.

Оцени публикацию:
  • 0,0
Оценили человек: 0

Похожие статьи:

Справочники и учебники:


Предложения и пожелания:
Ваше имя:
Ваш E-mail:
Введите изображенные цифры:
Captcha
Главная
X

youtube.com/watch?v=7hFivbgIEqk

При полном или частичном использовании материалов данного сайта, ссылка на сайт "yapro.ru" обязательна как на источник информации.
Автоматический импорт материалов и информации с сайта запрещен.
Copyrights © 2007 - 2017 YaPro.Ru

Главная » Веб-мастеру » MySQL »