我有一個名爲鏈接包的包。現在我已經把所有的混合東西放在那裏,用在所有的包中。如何訪問存儲庫,如果沒有該名稱的實體Doctrine2 Symfony2
但我沒有任何實體稱爲鏈接。
我想創建LinkedRepository,這樣我就可以擁有我所有的常用功能。但是,我將如何在其他包中獲取該存儲庫。我的意思是如何調用這個
$repository = $em->getRepository('LinkedBundle:"*What should I write here*"');
我有一個名爲鏈接包的包。現在我已經把所有的混合東西放在那裏,用在所有的包中。如何訪問存儲庫,如果沒有該名稱的實體Doctrine2 Symfony2
但我沒有任何實體稱爲鏈接。
我想創建LinkedRepository,這樣我就可以擁有我所有的常用功能。但是,我將如何在其他包中獲取該存儲庫。我的意思是如何調用這個
$repository = $em->getRepository('LinkedBundle:"*What should I write here*"');
您不能擁有單獨的存儲庫類。信息庫類鏈接到一個實體,所以你不能有一個「獨立的」信息庫,但我可以看到兩個選項:
@ORM\Entity(repositoryClass="Acme\LinkedBundle\Repository\LinkedRepository")
,假設你的Bundle裏的Repository文件夾中有你的Repository類,並用Acme替換你的公司名稱。我想第一個比較容易。
我認爲這是不可能的,因爲你打算這樣做。但我會建議使用服務容器而不是存儲庫。在此服務容器中,您可以使用不同的存儲庫,您需要使用這些存儲庫來執行這些全局任務。服務容器也可以在每個控制器等訪問。
這是Documentatino它:http://symfony.com/doc/current/book/service_container.html 我不認爲你需要整個注射部分。只要定義一個服務:
services:
linked_service:
class: Acme\LinkedBundleBundle\Service\LinkedService
,然後通過
public function indexAction()
{
$service = $this->get('linked_service');
}
希望這個作品獲得控制器的服務。