Php 在2个实体之间加入QueryBuilder的Symfony原则

Php 在2个实体之间加入QueryBuilder的Symfony原则,php,symfony,join,orm,doctrine,Php,Symfony,Join,Orm,Doctrine,我是一个比较新的信条,我正在经历一场噩梦,试图让两个实体之间的连接正确返回。我真的不太理解DRM,该学说目前使用了我想要的那么多,所以目前它实际上只是一个尝试和错误的案例 我有两个实体,一个是文档,一个是文档sow细节。我需要将document_id存在于document dow detail表/实体中的两个字段连接起来,以获得返回的document dow detail实体中存在的两个字段 因此,在我的文档存储库中,我尝试了以下代码(对正在发生的事情了解不多)。有人能告诉我这里发生了什么,为什

我是一个比较新的信条,我正在经历一场噩梦,试图让两个实体之间的连接正确返回。我真的不太理解DRM,该学说目前使用了我想要的那么多,所以目前它实际上只是一个尝试和错误的案例

我有两个实体,一个是文档,一个是文档sow细节。我需要将document_id存在于document dow detail表/实体中的两个字段连接起来,以获得返回的document dow detail实体中存在的两个字段

因此,在我的文档存储库中,我尝试了以下代码(对正在发生的事情了解不多)。有人能告诉我这里发生了什么,为什么不起作用

    $db = $this->createQueryBuilder($this->alias);
    $db->addSelect("dsd");
    $db->leftJoin("doc_sow_detail",'dsd','ON',"id_document");
当我在IDE中中断并计算$db->getQuery()函数时,这就是生成的_dql

SELECT d, dsd FROM BillingBundle\Entity\Document d LEFT JOIN doc_sow_detail dsd ON id_document
在我把电脑扔出窗外之前,谁能给我一个线索,看看我做错了什么?
谢谢

一个简单的原则连接示例,将产品类别连接到一个类别上:

$qb = $this->_em->createQueryBuilder();

$qb->select('p')
    ->from('BRBProductBundle:Product', 'p')
    ->join('p.category', 'c')
    ->where('1 = 1');

希望这能对您有所帮助。

我想我应该发布我的解决方案

由于两个实体之间的单向关系,我不得不改变我的实体结构


我将所需的实体属性移动到文档实体上,这消除了我对联接的需要。这可能是这些属性需要放在首位的地方

学习新东西可能令人沮丧。你看过条令手册了吗。你好,谢谢你的帮助。问题是,文档\u sow\u明细表中存在实体之间的关系。。因此,当前实体管理器正在获取文档的一个实例,并寻找一个不存在的doc\u sow\u details关系。document\u sow\u detail实体通过一个名为“id\u document”的变量在其中保存一个关系,该变量将其链接到document实体。是否必须在文档\u sow\u详细信息的存储库中执行此查询?