皆さん、今晩は。
Doctrine/Mongo の問題を解決してください。
別のドキュメントへの ReferenceOne と他のドキュメントへの ReferenceMany を持つドキュメントがあります。
したがって、最初のドキュメントの完全なドキュメント ツリーを連想配列として取得するには、1 つのクエリを実行する必要があります。
私はそのようにしようとしています:
return $this->createQueryBuilder()
->field('category')->references($category)
->field('vendor')->prime()
->field('chars')->prime()
->hydrate(false)
->getQuery()
->execute();
しかし、結果として、次のような配列が得られます:
Array
(
[0] => Array
(
[_id] => MongoId Object
(
[$id] => 52e374c21c83735f098b4567
)
[category] => Array
(
[$ref] => Category
[$id] => MongoId Object
(
[$id] => 52dc56eb1c837345098b4567
)
[$db] => doctrine
)
[chars] => Array
(
[0] => Array
(
[$ref] => ProductChar
[$id] => MongoId Object
(
[$id] => 52e374c21c83735f098b4568
)
[$db] => doctrine
)
[1] => Array
(
[$ref] => ProductChar
[$id] => MongoId Object
(
[$id] => 52e374c21c83735f098b4569
)
[$db] => doctrine
)
)
[href] => href-test
[price] => 500
[title] => test
[vendor] => Array
(
[$ref] => Vendor
[$id] => MongoId Object
(
[$id] => 52e170571c837360098b4567
)
[$db] => doctrine
)
)
)
しかし、参照ドキュメントの ID だけでなく、すべての値も必要です。
そのため、ドキュメント配列ツリー全体を取得する方法がわかりません。
よろしくお願いします!