我的每个问题对象都映射到类别对象,但是我通过AJAX调用附加了对象,因此我在创建时只知道类别ID 问题,这意味着我已经进行了数据库读取以获取整个类别对象。
我是否可以将类别附加到问题,而无需访问数据库并实例化整个类别对象?我希望避免数据库查找...
工作代码我想简化:
$entityManager = $this->getDoctrine()->getManager();
$category = $entityManager->getRepository('AcmeBundle:Category')->find($categoryId);
$question = new Question();
...
$question->setCategory($category);
$entityManager->persist($question);
$entityManager->flush();
答案 0 :(得分:3)
获取参考。无需查询。
$category = $entityManager->getReference('AcmeBundle:Category',$categoryId);