Doctrine2 -在不相关的表上连接


Doctrine2 - join on non related table

我有一些不相关的表,我试图在我的查询连接表:

$builder = $this->em()->createQueryBuilder();
$builder->select('main')
            ->from($this->getEntityName(), 'main')
            ->leftJoin(''Bundle'Path'To'Article', 'a', 'WITH', 'a.id = main.articleID');
$query = $builder->getQuery();
$query->setHydrationMode('Doctrine'ORM'AbstractQuery::HYDRATE_ARRAY);
$paginator = new 'Doctrine'ORM'Tools'Pagination'Paginator($query);
return [
    'success' => true,
    'total'   => $paginator->count(),
    'data'    => $paginator->getIterator()->getArrayCopy()
];

,我得到这个消息:

不能计数选择两个FROM组件的查询,不能区分

有人能帮我解决这个问题吗?

有两个选择

选项1

SELECT t1.name, t2.date FROM table1 t1, table2 t2;

显然,这需要修改以满足您的SQL语句/代码结构,但我希望您明白这一点。

选项2

SELECT t1.name, t2.date FROM table1 t1 CROSS JOIN table2 t2;

希望这对你有帮助:)。然而,在未来,我可以建议先谷歌一下,因为这是一个流行的问题。