Присоедините поля профиля к созданным пользователям в плагине Symfony и sfDoctrineGuard

Я пытаюсь прикрепить idempresa поле sfDoctrineGuardPlugin, но не может заставить его работать. Это schema.yml (только соответствующие таблицы) для этих таблиц:

SdrivingEmpresa:
  connection: doctrine
  tableName: sdriving_empresa
  columns:
    idempresa:
      type: integer(4)
      fixed: false
      unsigned: true
      primary: true
      autoincrement: true
    idlogotipo:
      type: integer(4)
      fixed: false
      unsigned: true
      primary: true
      autoincrement: false
    nombre_empresa:
      type: string(250)
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      autoincrement: false
    ruta_emp:
      type: string(45)
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      autoincrement: false
  relations:
    SdrivingLogotipo:
      local: idlogotipo
      foreign: idlogotipo
      type: one
    SdrivingEmisor:
      local: idempresa
      foreign: idempresa
      type: many
    SdrivingMaquina:
      local: idempresa
      foreign: idempresa
      type: many
    SdrivingOperador:
      local: idempresa
      foreign: idempresa
      type: many
    SdrivingTurno:
      local: idempresa
      foreign: idempresa
      type: many
    SfGuardUserProfile:
      local: idempresa
      foreign: idempresa
      type: many

SfGuardUserProfile:
  connection: doctrine
  tableName: sf_guard_user_profile
  columns:
    user_id:
      type: integer(8)
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      autoincrement: false
    idempresa:
      type: integer(4)
      fixed: false
      unsigned: true
      primary: true
      autoincrement: false
  relations:
    SfGuardUser:
      local: user_id
      foreign: id
      type: one
    SdrivingEmpresa:
      local: idempresa
      foreign: idempresa
      type: one

Если я запускаю это:

# php symfony doctrine:dql "FROM sfGuardUser u, u.SfGuardUserProfile p"
>> doctrine  executing dql query

Я получаю эту ошибку:

>> DQL: FROM sfGuardUser u, u.SfGuardUserProfile p
>> Unknown relation alias SfGuardUserProfile

Что я делаю не так? Где моя ошибка?

1 ответ

Решение

Попробуйте добавить ForeignAlias ​​для sfGuardUser в сущности SfGuardUserProfile, например:

 relations:
    SfGuardUser:
      local: user_id
      foreign: id
      type: one
      foreignAlias: SfGuardUserProfile
Другие вопросы по тегам