2015-06-29 6 views
1

после адаптации к новой рекомендуемой структуре в Symfony 2.7. Я не могу получить доступ к псевдониму объекта через $em->getRepository('Bundle:Entity').Атрибут Entity в новой структуре каталога symfony 2.7

Это моя структура каталогов:

MyBundle 
    - Component 
     - Catalog 
      - Model 
       Product.php 

И мое отображение definitition в config.yml:

mappings: 
    mybundle: 
     type:  annotation 
     dir:  %kernel.root_dir%/../src/mybundle/Component/Product/Model 
     prefix: MyBundle\Component\Product\Model 
     alias:  ??? # I tried different things 

То, что я должен написать в $em->getRepository('MyBundle:Product') вместо MyBundle:Product чтобы успешно экранным сущность?

Если возможно, я хотел бы использовать по умолчанию Symfony псевдоним, так что мне не нужно указать псевдоним для каждого объекта в config.yml

+0

Есть ли причина, чтобы удалить 'auto_mapping' вариант? Обычно, если ваш пакет зарегистрирован должным образом, с включенным auto_mapping, у вас не должно быть проблем с использованием короткого синтаксиса, независимо от того, как вы назвали свой пакет. * Редактировать *: Если вы хотите переименовать свой пакет, это не относится, но следует использовать синтаксис старого имени пакета. – Artamiel

+0

Mmmh, я думаю, я тоже пропустил это, я имею в виду, 'generate: bundle', я не так хорошо отношусь к новой структуре! :-P –

+0

Я попытаюсь перезапустить из поколения в пучок и посмотреть, что произойдет –

ответ

1

На самом деле мне не нужно generate:bundle, поскольку это не реальное расслоение, но пространство имен и логическая организация файлов.

Решение указать полное пространство имен в getRespository():

$em->getRepository('MyBundle\\Component\\Product\\Model\\CFGProduct) 

Спасибо