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
Post a Comment