可能ですか/ ZF2ハイドDoctrineObjectレーターが、ネストされたエンティティオブジェクトを持つ配列ではなく、ネストされた配列として出力を提供するようにする方法は?
となることによって
Array
(
[id] => 123,
[title] => FooTitle,
[bar] => Array
(
[id] => 567,
[title] => BarTitle
)
)
その代わりに
Array
(
[id] => 123,
[title] => FooTitle,
[bar] => Bar Object
(
[id] => 567,
[title] => BarTitle
)
)
追加情報/背景:
私が取り組んでいるZF2アプリケーションでは、Doctrineを使用しており、エンティティFooとBar. それらの間にはOneToOne関係があります -- Foo has a Bar:
{
"id": "123",
"title": "FooTitle",
"bar": {
"id": "567",
"title": "BarTitle"
}
}
Fooオブジェクトを取得してに渡すとDoctrineModule\Stdlib\Hydrator#extract(...)(私のアプリケーションでは 内で行われます)、タイプ のZF\Hal\Plugin#convertEntityToArray(...)要素を持つ配列を取得します。barBar
次のステップ (実際には後でいくつかの呼び出し) で、この結果が に渡され、Zend\View\Renderer\JsonRenderer#render(...)次に に渡され、Zend\Json\Json::encode(...)内部で が実行されjson_encode(...)ます。
したがって、 の値はfoo[bar]フィルターで除外され、出力は次のようになります。
{
"id": "123",
"title": "FooTitle",
"bar": {}
}