0

在我的应用程序(使用 Symfony 1.4 和 Doctrine 开发)中,我试图根据idempresa登录的用户获取所有用户。idempresa在一个sf_guard_user_profile表中,这是它的架构:

SfGuardUserProfile:
  connection: doctrine
  tableName: sf_guard_user_profile
  columns:
    id: { type: integer(8), primary: true }
    user_id: { type: integer(8), primary: false }
    idempresa: { type: integer(4), primary: false }
  relations:
    User:
      local: user_id
      class: sfGuardUser
      type: one
      foreignType: one
      foreignAlias: SfGuardUserProfile
      onDelete: CASCADE
      onUpdate: CASCADE

我正在尝试使用此查询:

Doctrine_Core::getTable('sfGuardUser')
   ->createQuery('u')
   ->leftJoin('u.Profile p')
   ->where('idempresa = ?', $id_empresa)
   ->execute();

但是得到这个错误:

未知关系别名配置文件

我的代码有什么问题?

4

1 回答 1

2

您在sfGuardUserand之间的关系sfGuardUserProfile不称为Profilebut SfGuardUserProfile。所以你应该在你的查询生成器中使用:

 ->leftJoin('u.SfGuardUserProfile p')
于 2013-06-12T07:14:53.500 回答