首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >连接DQL (symfony2)两个表之间的多个连接

连接DQL (symfony2)两个表之间的多个连接
EN

Stack Overflow用户
提问于 2012-07-14 15:24:32
回答 1查看 6.6K关注 0票数 0

我的DQL查询有问题。我有一个表,其中有3个外键userId,userRId和userAId。这些外键中有两个可能是空的。

我想连接查询中的所有外键,但我不知道如何在同一个表之间连接两个或三个外键。(见问题)有人能给我一些想法吗?

代码语言:javascript
运行
AI代码解释
复制
   **TABLE A**
   id    userId   userRId   userAId
   1     2        NULL      NULL
   1     2         1        NULL
   1     2        NULL         1

**TABLE USER**
userId  name
  2     xxxx
  1     xxxx

The DQL query:

"SELECT FROM nasyBundle:A a JOIN a.userId u , a JOIN userRId , a JOIN userAid
         WHERE ...
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-15 07:26:07

在DQL中,您对对象(实体)而不是表(基于映射)进行操作。所以当你有像这样的实体时:

代码语言:javascript
运行
AI代码解释
复制
class User
{
    private $id;
    private $name;
}

class TableA
{
    private $id;
    private $user;
    private $userR;
    private $userA;
}

您可以像这样创建查询(当您拥有有效的映射时)

代码语言:javascript
运行
AI代码解释
复制
SELECT a
FROM nastyBundle:TableA a
INNER JOIN a.user u
LEFT JOIN a.userR ur
LEFT JOIN a.userA ua

但是,是的,要使用它,您需要映射信息。如果您没有映射,您可以使用doctrine:mapping:import生成它,只需在symfony项目中键入内容即可读取更多php app/console help doctrine:mapping:import

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11484945

复制
相关文章

相似问题

领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文