Mysql 从条令中没有关系的2个表中获取数据

Mysql 从条令中没有关系的2个表中获取数据,mysql,database,symfony,doctrine-orm,doctrine,Mysql,Database,Symfony,Doctrine Orm,Doctrine,我是Symfony2的新手。它建议使用教义,所以我正在学习 现在我正在测试从两个表中获取数据。假设表名是tb\u info和tb\u组。我有两个同名的类,它们都有适当的ORM来表示这两个表 在简单查询中,我们会这样做 "SELECT * FROM tb_info,tb_group" 所有神奇的数据都在我手上。现在有了原则我找不到这样简单的方法。我试过了 $query = $em->createQuery( 'SELECT p FROM AcmeDbBundle:tb_in

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

现在我正在测试从两个表中获取数据。假设表名是
tb\u info
tb\u组
。我有两个同名的类,它们都有适当的ORM来表示这两个表

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

"SELECT * FROM tb_info,tb_group"
所有神奇的数据都在我手上。现在有了原则我找不到这样简单的方法。我试过了

$query = $em->createQuery(
    'SELECT p
    FROM AcmeDbBundle:tb_info,AcmeDbBundle:tb_group p'
);
这不管用。我看到了一些从两个不同的表中收集数据的方法但我不想使用关系。


有没有简单的方法可以在条令中编写查询以从多个表中获取数据??我遗漏了什么吗?

您可以在存储库函数中使用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();

你为什么要那样做?这似乎不合逻辑。表具有不同的结构和不同的信息。为什么不运行两个查询?@Touki你不必为那个兄弟操心。在很多情况下我都需要这些。假设在tb_信息中有一个学生的id、姓名、学籍,在tb_组中有id和血型组。我需要那个学生的总数据和一个查询。现在我想使用条令来实现这一点。好吧,如果你不介意的话,你可以使用
$em->getConnection()->query($nativeSQL)
运行本机查询。@Touki它成功了。非常感谢。不止一个来自QueryBuilder的人,谁会认为这很简单?@Aaron不是我,我只是在寻找一个解决方案,太简单了。。。双“从”FTW!