2012-01-05 1 views
4

エンティティPatternCategoryの間に定義されたManyToOneの関連付けがあります(パターンは関係の所有側です)。カテゴリには多くのパターンがあり、パターンは1つのカテゴリに属します。したがって、フィールドPattern.category@ManyToOneのDoctrineアノテーションがあります。ターゲットエンティティなしでDoctrine2に関連付けを行うことは可能ですか?

私のシナリオでは、新たに作成されたパターン(永続化される)のPattern.categoryフィールドに割り当てたいCategoryエンティティ(フォームから投稿)のidがありますが、このカテゴリのエンティティをロードしたい - 私はそれを必要としません、私はちょうどパターンエンティティを作成し、カテゴリ(これは私が持っている)に割り当て、それを維持したいと思います。私が本当に必要とするのはちょうど私がすでに持っているIDだけで、接続を確立するためにCategoryエンティティをロードする必要があることは私にとっては奇妙なことです。

ORMでリレーショナルデータベースの概念を使うのが好きかもしれませんが、ターゲットエンティティのIDを知っていれば、このエンティティをロードして接続を確立するだけでは全く意味がありません。

私はDoctrine btwを初めて使用しています。

あなたが Reference Proxy使用することができます

答えて

8

:あなたはエンティティへの関連付けを確立したいとき、「これは便利です、例えば、性能強化として:私が探していたまさにでした

$category = $em->getReference('Category', $id); 
$pattern->setCategory($category); 
+0

おかげで、あなたは識別子を持っています。 " – JohnM2

+0

ドキュメントのURLがhttp://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/advanced-configuration.html#proxy-objectsに変更されました – caponica

関連する問題