在访问容器时我遇到了一些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
}
...
当我尝试访问容器时,它始终为“null”。我知道有一些相同的问题,但我仍然无法找到解决问题的方法。
似乎永远不会调用方法“setContainer()”。
PS:我使用Symfony3
答案 0 :(得分:0)
也许使用这个:
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
class EventRepository extends EntityRepository implements ContainerAwareInterface
{
protected $container;
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}
public function getSomething($id)
{
var_dump($this->container);die(); // returns null
}
...