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

Ata*_*CSE 1 mysql database doctrine symfony doctrine-orm

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

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

在简单的查询中,我们这样做

"SELECT * FROM tb_info,tb_group"
Run Code Online (Sandbox Code Playgroud)

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

$query = $em->createQuery(
    'SELECT p
    FROM AcmeDbBundle:tb_info,AcmeDbBundle:tb_group p'
);
Run Code Online (Sandbox Code Playgroud)

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

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

sha*_*sol 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();
Run Code Online (Sandbox Code Playgroud)

  • 来自 QueryBuilder 的不止一个,谁能想到它这么简单? (2认同)