Doctrine2 - 加入不相关的 table

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()
];

我收到这条消息:

Cannot count query which selects two FROM components, cannot make distinction

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

有两个选项。

选项 1

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

显然这需要修改以满足您的 SQL statement/code 结构,但我希望您能明白这一点。

选项 2

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

希望这对您有所帮助 :)。但是,以后我可以建议先用谷歌搜索,因为这是一个热门问题。