2013-08-07 3 views
0

Я все еще пытаюсь использовать телеги сверток из sylius,Entity менеджер Symfony 2

я получаю эту ошибку

Catchable Fatal Error: Argument 1 passed to myproject\Cart\ItemResolver::__construct()   must be an instance of Doctrine\ORM\EntityManager, none given, called in  myproject\cache\dev\appDevDebugProjectContainer.php on line 3625 and defined in myproject\Cart\ItemResolver.php line 19 
500 Internal Server Error - ContextErrorException 

на самом деле я видел это в след отладки стека

at ItemResolver ->__construct() 

protected function getcompany_CartItemResolverService() 
{ 
return $this->services['company_item_resolver'] = new \myproject\Cart\ItemResolver(); 
} 

Я полагаю, что есть проблема с моей конфигурацией.

моего service.yml выглядит, что

company.cart_item_resolver: 
class: myproject\Cart\ItemResolver 
argument: ['@doctrine.orm.entity_manager'] 

и мой config.yml для научения выглядит следующим образом:

orm: 
auto_generate_proxy_classes: "%kernel.debug%" 
entity_managers: 
    default: 
     mappings: 
      ApplicationSonataUserBundle: ~ 
      SonataUserBundle: ~ 
      FOSUserBundle: ~ 
      companyBundle: ~ 
      ApplicationSonataMediaBundle: ~ 
      SonataMediaBundle: ~ 
      SonataNotificationBundle: ~ 
      ApplicationSonataNotificationBundle: ~ 
      SyliusCartBundle: ~ 

не имеет Автоотображения включены, я полагаю, мой аргумент в сфере услуг. yml должен быть ложным, но мне не удается это сделать правильно.

Не могли бы вы мне помочь?

+0

Это опечатка. Это должно быть 'arguments' not' argument' – Touki

+0

эй, я опоздал на андер, это правильный ответ, я нашел его. Просто вернись, чтобы дать ответ, но ты дал ему thx :) –

ответ

0

Попробуйте этот код в service.yml:

company.cart_item_resolver: 
    class: myproject\Cart\ItemResolver 
    arguments: ['@doctrine.orm.entity_manager'] 

Это должно устранить проблему. Дополнительная информация о Инъекционных услугах: http://symfony.com/doc/current/book/service_container.html#referencing-injecting-services

+0

ty нашел это сам, и не видел ответа, это была опечатка, за то, что вы надеетесь, что это поможет народам –