所以,问题是在一个数组中获取id(或任何其他字段),比如:
[
"someId1",
"someId2",
"someId3",
]
我试着通过下一个问题来回答:
$this->createQueryBuilder()
->select('_id')
->hydrate(false)
->getQuery()
->toArray()
但我没有得到我想要的,而是在这附近:
112 => array:1 [
"_id" => 112
]
113 => array:1 [
"_id" => 113
]
114 => array:1 [
"_id" => 114
]
(我使用策略增量)。我试着用map,reduce来实现这一点,但我明白我对这些函数一无所知:)。有人能帮我吗?
P.S:我知道如何用php函数实现这一点,比如
array_keys | array_values
。但我真的很想知道MongoDB是如何做到的,特别是在带有CreateQueryBuilder的ODM中 最佳答案
这通常可以通过创建一个自定义的水合器来完成。您可以看一看这个示例,并尝试将其改编为odmhttps://gist.github.com/Tom32i/7984541