Doctrine ODM / PHPCRODM - 仅获取至少有一个子集的节点

时间:2014-02-16 15:58:56

标签: symfony doctrine-orm doctrine symfony-cmf

我在phpcr中有以下结构

/foo1
/foo1/childcollection1
/foo1/childcollection2
/foo1/childcollection3
/foo2
/foo2/childcollection1
/foo2/childcollcetion2
/foo2/childcollection3
/foo2/childcollection4
/foo3
/foo4
/foo4/childcollection1
/foo4/childcollcetion2
...

我只需要捕获至少有一个子集的“foo”节点。

Childcollection在foo文档中映射为 / ** PHPCRODM \ Children(fetchDepth = 0)* /

我能够通过在我的存储库中跟踪内部联接查询来实现它

$query = $this->createQueryBuilder('foo');
        $query->addJoinInner()
            ->right()->document('Path\PathBundle\Document\Childcollection', 'c')->end()
            ->condition()->child('c', 'foo');

因此,我确实拥有至少有一个childcollection节点的foo文档,但是当我添加页面功能时

$query->setMaxResults($limit);

我没有限制数量的文件。结果取决于foo文档中的子集合数量。

任何人都可以帮我查询只获取至少有一个子集的节点,以及我可以在哪里向该查询添加页面功能。

谢谢和最好的问候

0 个答案:

没有答案