检索文档 - 过滤

Retrieve Documents - filtering

可以使用以下方法简单地过滤检索到的文档:

$dm->findBy(array('field' => 'value'))

但我需要一些更适合内容存储库细节的东西。 那么,有没有办法检索文档(例如相当于 "SELECT ... WHERE ..."),筛选条件为:

?

似乎(还没有?)没有API提到的确切解决方案。 PHPCR(非 ODM)具有以某种方式完成这些任务的功能。

以上任务可以通过以下方式完成:

  1. 仅通过多值字段进行过滤。例如。如果您将 "authors" 字段作为数组,则 PHPCR 似乎可以按可用的第一作者正确排序和过滤文档;此外,在 PHPCR(同样,不是 ODM)API 中有一个等同于 in_array() PHP 的函数。它被视为任何其他(非多值)字段 - http://doctrine-phpcr-odm.readthedocs.org/en/latest/reference/query-builder-reference.html#literal

  2. 按路径过滤,有三种可能(我说的是第三种):

有关更多信息,这里有可用的文档:http://doctrine-phpcr-odm.readthedocs.org/en/latest/reference/query-builder.html and http://doctrine-phpcr-odm.readthedocs.org/en/latest/reference/query-builder-reference.html