如何使用一个查询从symfony 3中的两个表中获取数据

时间:2017-05-29 06:35:50

标签: database join doctrine symfony-3.2

我有两个表客户端,联系人和联系人将client_id作为外键

$client = $this->getDoctrine()->getRepository('MyBundle:Client')->findAll();

这提供了来自表客户端的数据,但我还需要来自联系人的数据,这些数据具有相关的客户端ID

注意:我使用的是嵌入表单,CollectionType,ArrayCollection

如何在symfony 3的一个查询中为所有客户提供相应的联系人

1 个答案:

答案 0 :(得分:0)

您可以在函数内创建一个这样的连接查询到您的存储库中:

public function getAllClientWithContacts()
{
    $qb = $this->createQueryBuilder();
    $qb
        ->select('c')
        ->from('MyBundle\Entity\Client', 'c')
        ->leftJoin('MyBundle\Entity\Contact');

    return $qb->getQuery()->getResult();
}