mysql - 从 2 个表中获取数据,在 Doctrine 上没有关系

标签 mysql database symfony doctrine-orm doctrine

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

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

在简单的查询中,我们做

"SELECT * FROM tb_info,tb_group"

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

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

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

是否有任何简单的方法可以在 doctrine 中编写查询以从多个表中获取数据?我错过了什么吗?

最佳答案

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

关于mysql - 从 2 个表中获取数据,在 Doctrine 上没有关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20782813/

相关文章:

php - 执行以下查询时出错

MySQL 列出实体并在连接表上应用 AND 过滤器

java - 大数据库,很多 map ?

c++ - 为 Sql 服务器实现 odbc 包装器。以字符形式读取数据库数据或要求驱动程序将数据转换为 C 类型

php - 如何在dql中搜索实体数组?

symfony - 如何避免设置者使用 Symfony 和管理面板创建者?

java - Spring 安全: Authentication with Database

php - laravel 两个表的多个条件查询

Mysql - 返回在另一个表中没有关联记录的行加上有记录的最大值

design-patterns - 如何在 Symfony2 中拥有模型管理器?