Symfony2 Doctrine2 Reference Proxies — привязать зависимую сущность по ID
Возникают ситуации, когда надо привязать зависимую сущность Doctrine, а самой сущности нет, есть только её ID. Конечно, по ID всегда можно получить эту сущность
1 2 3 |
$author = $this->getDoctrine()->getRepository('AcmeDemoBundle:Author')->find($autorId); $post = new Post(); $post->setAuthor($author); |
Но можно избежать лишнее получение объекта. Для это у Doctrine2 есть Reference Proxies.
1 2 3 |
$em = $this->getDoctrine()->getManager(); $post = new Post(); $post->setAuthor($em->getReference('Acme\DemoBundle\Entity\Author', $authorId)); |