Проблема со схемой symfony2 yaml: невозможно установить рабочие отношения - PullRequest
0 голосов
/ 25 сентября 2011

У меня есть две сущности: Пользователь и Студент. Ниже приведена схема yaml:

ABC\UserBundle\Entity\User:
  type: entity
  table: abc_user
  id:
    id:       { type: integer, generator: { strategy: AUTO } }
  fields:        
    username: { type: string, length: 255, notnull: true, unique: true }
    email:    { type: string, length: 255, notnull: true, unique: true }
    password: { type: string, length: 255, notnull: true }
    enabled:  { type: boolean }


ABC\UserBundle\Entity\Student:
  type: entity
  table: abc_student
  id:
    id: { type: integer, generator: { strategy: AUTO } }        
  fields:
    first_name: { type: string, length: 255, notnull: true }
    middle_name: { type: string, length: 255 }
    last_name: { type: string, length: 255, notnull: true }
  OnetoOne:
    user:
      targetEntity: ABC\UserBundle\Entity\User

Моя проблема в том, что когда я делаю "doctine: update: schema --dump-sql", поле user_id не добавляется в таблицу Student, и между сущностями не создается никаких отношений.

Ответы [ 2 ]

1 голос
/ 25 сентября 2011

Карта Yaml чувствительна к регистру, используйте правильное имя oneToOne для создания отношений.

0 голосов
/ 25 сентября 2011

Вам не хватает опции joinColumn для ассоциации OneToOne:

ABC\UserBundle\Entity\User:
  type: entity
  table: abc_user
  id:
    id:       { type: integer, generator: { strategy: AUTO } }
  fields:        
    username: { type: string, length: 255, notnull: true, unique: true }
    email:    { type: string, length: 255, notnull: true, unique: true }
    password: { type: string, length: 255, notnull: true }
    enabled:  { type: boolean }
  OnetoOne:
    student:
      targetEntity: ABC\UserBundle\Entity\Student
      mappedBy: user

ABC\UserBundle\Entity\Student:
  type: entity
  table: abc_student
  id:
    id: { type: integer, generator: { strategy: AUTO } }        
  fields:
    first_name: { type: string, length: 255, notnull: true }
    middle_name: { type: string, length: 255 }
    last_name: { type: string, length: 255, notnull: true }
  OnetoOne:
    user:
      targetEntity: ABC\UserBundle\Entity\User
      joinColumn:
        name: user_id
        referencedColumnName: id
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...