从两个表中获取数据而没有关系

时间:2013-12-26 10:01:05

标签: mysql database symfony doctrine-orm doctrine

我是Symfony2的新手。它建议使用学说,所以我正在学习它。

现在我正在测试从2个表中获取数据。假设表名是tb_info& tb_group。我有2个具有相同名称的类,其中有正确的ORM代表这两个表。

在简单查询中,我们

"SELECT * FROM tb_info,tb_group"

所有神奇的数据都出现在我手中。现在有了 Doctrine ,我找不到像这样的简单方法。我试过了

$query = $em->createQuery(
    'SELECT p
    FROM AcmeDbBundle:tb_info,AcmeDbBundle:tb_group p'
);

这不起作用。我看到了从两个不同的表中收集数据的一些方法。 但我不想使用关系。

有没有简单的方法在doctrine中编写查询来从多个表中获取数据?我错过了什么吗?

1 个答案:

答案 0 :(得分:5)

您可以在存储库函数中使用Doctrine QueryBuilder:

    $queryBuilder = $this->_em->createQueryBuilder();       
    $queryBuilder->addSelect("position,candidate")
        ->from("RadsphereRecruitmentBundle:Position", 'position')
        ->from("RadsphereRecruitmentBundle:Candidate", 'candidate')
        ->andWhere("position.open = :open")
        ->setParameter("open",true);

    return $queryBuilder->getQuery()->getResult();