0
私はItem
エンティティとCategory
エンティティを持っています。 Item
には、1つのCategory
があります。私のマッピングコードは次のようになります。関連付けを作成するには2つのエンティティ間の関連付けを作成するときに、エンティティの代わりにidを渡すことはできますか?
// Item.php
/**
* @ORM\ManyToOne(targetEntity = "Category")
* @ORM\JoinColumn(name = "category_id", referencedColumnName = "id")
*/
protected $category;
、私は、このメソッドを使用します。
// Item.php
public function setCategory(Category $category) {
$this->category = $category;
}
これは、限り、私は最初のDBからCategory
エンティティをフェッチとして正常に動作します。しかし、Category
エンティティの代わりにIDを渡すことができるかどうか疑問に思っています。 JoinColumn category_id
をスカラー値で手動で設定したいと思います。しかし、正弦category_id
はItem
の実際のメンバーではありません。私はこれをどのように行うことができるのかよくわかりません。
例外、最終的に怠惰は、DBからオブジェクトをロードする際にこのアプローチは、そうでない場合、あなたは、データベース内のその識別子を持つカテゴリーがあることを確認している場合にのみ使用する必要があることに注意してください育てられるだろう。 – Ocramius
@Ocramiusあなたはそれがデータベースにあることを決して確信できません;) – meze
その場合、Doctrine \ ORM \ EntityNotFoundException例外をキャッチする準備ができているはずです。 – Ocramius