目前我正在學習如何使用Symfony2。我到了他們解釋如何使用Doctrine的地步。何時使用Symfony2中的實體管理器
在給定的,他們有時會用實體管理器的實例:
$em = $this->getDoctrine()->getEntityManager();
$products = $em->getRepository('AcmeStoreBundle:Product')
->findAllOrderedByName();
,並在其他例子中不使用實體管理器:
$product = $this->getDoctrine()
->getRepository('AcmeStoreBundle:Product')
->find($id);
所以其實我嘗試的第一個例子沒有得到實體經理:
$repository = $this->getDoctrine()
->getRepository('AcmeStoreBundle:Product');
$products = $repository->findAllOrderedByName();
並得到了同樣的結果。
那麼我什麼時候需要實體管理器,什麼時候可以一次去存儲庫呢?
我已經知道在使用flush()時我需要使用實體管理器。另外使用'getProductRepository()'函數的想法可能是有用的,謝謝! – 2012-08-07 14:13:29
@MatsRietdijk很高興爲您服務!我總是在自己的'BaseController'中將'$ this-> get('some service')'封裝在自定義函數中以獲得自動填充... – gremo 2012-08-07 14:35:34
'AcmeStoreBundle:Product'的位置我可以在哪裏找到'Product'我的Symfony應用程序。 – 2016-07-11 11:56:57