我是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中编写查询来从多个表中获取数据?我错过了什么吗?
答案 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();