我有一个名为Linked Bundle的包。现在我已将所有混合内容放在所有捆绑包中。
但我没有任何名为Linked的实体。
我想创建LinkedRepository,以便我可以在那里拥有我的所有常用功能。但是我将如何在其他捆绑包中获取该存储库。我的意思是如何称呼这个
$repository = $em->getRepository('LinkedBundle:"*What should I write here*"');
答案 0 :(得分:1)
我认为这是不可能的,因为你打算这样做。但我建议使用服务容器而不是存储库。在此Service Container中,您可以使用不同的存储库,您需要将这些存储库用于这些全局任务。每个控制器等也可以访问服务容器。
以下是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');
}
希望这有效。
答案 1 :(得分:1)
您不能拥有单独的存储库类。存储库类链接到实体,因此您不能拥有“独立”存储库,但我可以看到两个选项:
@ORM\Entity(repositoryClass="Acme\LinkedBundle\Repository\LinkedRepository")
,假设您的Bundle内的Repository文件夹中有Repository类并用您的公司名称替换Acme。我想第一个更容易。