0
ParamConverter
を使用してオブジェクトを取得すると、そのインスタンスが初期化されていないように見えます。ParamConverterは初期化されていないオブジェクトをシリアル化します
オブジェクトは部分的にロードされています。つまり、その関係はデータベースからフェッチされません。
私は例を挙げてみましょう:私は与えられたArticle
のComment
のコントローラをしたい
Article
title
body
comments (Collection of Comment)
場合、私はこの
/**
* @Route("/article/{id}/comments",
* name="article_comments",
* defaults={"_format": "json"}
*)
* @ParamConverter("article", class="AppBundle:Article")
*/
public function purchaseOrderGetAction(Article $article)
{
return new JsonResponse($article->getComments());
}
これはArticle
ので、何も送信しませんにしてください完全にロードされていないようです。あなたが見ることができるように
dump($article);
が
DefaultController.php on line 42:
Article {#1186 ▼
-id: 1
-title: "My awesome article"
-body: "Here is the story of..."
-comments: PersistentCollection {#1224 ▼}
-snapshot: []
-owner: Article {#1186}
-association: array:15 [ …15]
-em: EntityManager {#936 …11}
-backRefFieldName: "article"
-typeClass: ClassMetadata {#1213 …}
-isDirty: false
#collection: ArrayCollection {#1225 ▼
-elements: []
}
#initialized: false
}
}
を与え、details
フィールドにロードされたものは何もありません。
オブジェクト全体を手動で読み込む必要がありますか、またはデータベースから必要なcomments
だけを読み込む方法がありますか?