可以使用以下方法简单地过滤检索到的文档:
$dm->findBy(array('field' => 'value'))
但是我需要一些更适合Content Repository细节的东西。 那么,有没有办法检索文档(例如相当于“SELECT ... WHERE ...”),过滤方式为:
答案 0 :(得分:0)
对于所提到的确切解决方案,似乎(但是?)没有可用的API。但是,PHPCR(不是ODM)具有以某种方式完成这些任务的功能。
上述任务可以通过以下方式实现:
仅通过多值字段过滤。例如。如果您将“authors”字段作为数组,那么PHPCR似乎可以通过第一作者正确排序和过滤文档;在PHPCR(再次,不是ODM)API中,还有一个与in_array()PHP函数等价的东西。它被视为任何其他(非多值)字段 - http://doctrine-phpcr-odm.readthedocs.org/en/latest/reference/query-builder-reference.html#literal
通过路径过滤,有三种可能性(我根据需要提到的是第三种):
有关详情,请参阅以下文档:http://doctrine-phpcr-odm.readthedocs.org/en/latest/reference/query-builder.html和http://doctrine-phpcr-odm.readthedocs.org/en/latest/reference/query-builder-reference.html