Можно ли передать идентификатор вместо сущности при создании связи между двумя сущностями? - PullRequest
0 голосов
/ 29 января 2012

У меня есть Item сущность и Category сущность.У Item есть один Category.Мой код отображения выглядит следующим образом:

// 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;
}

Это прекрасно работает, пока я сначала выбираю сущность Category изБД.Но мне интересно, можно ли передать идентификатор вместо сущности Category.Я хотел бы вручную установить JoinColumn category_id со скалярным значением.Но синус category_id не является действительным членом Item, я не уверен, как я могу это сделать.

1 Ответ

2 голосов
/ 29 января 2012

Использование getReference:

$item->setCategory($em->getReference('Category', $id));
...