【问题标题】:Doctrine2 - join on non related tableDoctrine2 - 加入非相关表
【发布时间】:2015-08-20 14:36:50
【问题描述】:

我有一些不相关的表,我尝试在查询中加入表:

$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组件的查询,无法区分

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

【问题讨论】:

标签: php symfony join doctrine


【解决方案1】:

有两种选择。

选项 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;

希望这会有所帮助:)。但是,将来我可以建议先用谷歌搜索,因为这是一个流行的问题。

【讨论】:

  • 感谢您的评论,但如何将选项 1 设置为查询构建器?这甚至可能吗?
猜你喜欢
  • 2011-09-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-02
  • 1970-01-01
相关资源
最近更新 更多