php - Symfony 3 Inject service into entity repository -


i tried inject memcached service entity repository, variant not work.

services:   work.repository.company:     class: workbundle\repository\companyrepository     factory: ['@doctrine.orm.entity_manager', getrepository]     arguments:         - 'workbundle:company'     calls:         - [setcacheservice, ['@memcache.default']] 

companyrepository have setter setcacheservice, it's not called.

class companyextension extends \twig_extension {     /**      * @var entitymanager      */     private $em;      public function setentitymanager(entitymanager $entitymanager)     {         $this->em = $entitymanager;     }      public function getfunctions()     {         return array(             new \twig_simplefunction('getcompaniescount', array($this, 'getcompaniescount'))         );     }      /**      * @return integer      */     public function getcompaniescount()     {         return $this->em->getrepository('workbundle:company')->getactivecompaniescount();     }      public function getname()     {         return 'work_company_extension';     } } 

why code not works?

have registered repositoryclass in workbundle:company entity? entity should contain like: @orm\entity(repositoryclass="work\company") or yaml equivalent.

you should let symfony create repository injecting work.repository.company twig extension.


Comments