1
獲取集裝箱我得到了一些麻煩,同時訪問容器insinde的EntityRepositorySymfony3 - 在EntityRepository
我services.yml
services:
app.event_repository:
class: Test\MyTestBundle\Repository\EventRepository
factory: ["@doctrine", "getRepository"]
arguments: ["MyTestBundle:Event"]
calls:
- ["setContainer", ["@service_container"]]
而且我的倉庫
class EventRepository extends EntityRepository
{
protected $container;
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}
public function getSomething($id)
{
var_dump($this->container);die(); // returns null
}
...
當我嘗試訪問th容器,它總是「空」。我知道有一些同樣的問題,但我仍然無法找到解決問題的方法。
看來,方法「setContainer()」永遠不會被調用。
PS:我用Symfony3
與ATdoctrine.orm.entity_manager更換ATdoctrine。通常的警告適用,除非你確實需要,否則不要通過容器。最好只注入你需要的服務。我還假設你實際上是從容器中拉取存儲庫,而不是直接使用$ em-> getRepository。 – Cerad
這絕對不是重複的,並且鏈接的建議答案不適用。標題可能有點誤導,但問題在於存儲庫服務的定義不正確。另外,各種相關的答案顯然是錯誤的。 – Cerad