2

如果我已经有了外键的 ID,那么在 symfony2 的对象中插入外键的最佳做法应该是什么?

如果我有一个动作:

/**
* @Route("assignCategory/{category}/product/{product}")
*/
public function assignCategory($category, $product)
{
   ...
   // here i should set the category to the existing product
   ...
}

我不喜欢从数据库中检索类别的想法。

如果您在会话中有 id 并且您想将它们存储到对象但不从数据库中检索它,这也适用......所以......最好的做法应该是什么?

4

1 回答 1

15

在 ORM 中,您必须通过与您的实体关联的对象设置外键。您可以使用 EntityManager#getReference 来获取对类别实体的引用,而无需从数据库中加载它。像这样

$category = $entityManager->getReference('YourProject\Entity\Category', $categoryId);
$product = new Product();
$product->setCategory($category);
于 2013-07-05T16:48:17.150 回答