我对Doctrine相对较新,并且正在尝试在正确返回的两个实体之间进行连接。我不太了解Doctrine目前使用的DRM,因此目前只是一个试错的案例。
我有两个实体,一个是文档,一个是文档播种详细信息。我需要加入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
在我把电脑扔到窗外之前,有人能给我一些关于我在做错的线索吗? 谢谢!
答案 0 :(得分:0)
一个简单的doctrine join示例,它将类别上的产品类别加入:
$qb = $this->_em->createQueryBuilder();
$qb->select('p')
->from('BRBProductBundle:Product', 'p')
->join('p.category', 'c')
->where('1 = 1');
希望这可以帮助你。
答案 1 :(得分:0)
我以为我会发布我的解决方案。
由于两个实体之间的单向关系,我不得不改变我的实体结构。
我将所需的实体属性移动到文档实体上,否定了我对连接的需求。这可能是首先需要这些属性的地方。