この投稿に基づく:外部キー ID #sf2 #doctrine2 の ID を設定する方法
前の投稿で、私はこの解決策を見つけました
class Item
{
/**
* @ORM\ManyToOne(targetEntity="MyBundle\Entity\ItemType", inversedBy="itemTypes")
* @ORM\JoinColumn(name="type_id", referencedColumnName="id")
*/
protected $item_type;
/**
*
* @var string $item_type_id
* @ORM\Column(type="integer")
*/
protected $item_type_id;
}
.... Setter & Getter
}
それは私がそのようなことをすることを可能にします
$item = new Item();
$item->setItemTypeId(2); // Assuming that the ItemType with id 2 exists.
しかし、doctrine2.3 の最後の更新から、もう機能しません。
アイテムを永続化すると(INSERT SQLクエリを作成するため)、item_type_idフィールドが設定されません。他のすべてのフィールドのみ。
設定する直前に ItemType を取得せずに item_type_id を手動で設定する方法はありますか? クエリの使いすぎです!?
$item = new Item();
$itemType = $this->entity_manager->getRepository('Acme\MyBundle:ItemType')->find(2);
$item->setItemType($itemType); // Assuming that the ItemType with id 2 exists.