Я использую доктрину в приложении symfony 2.3. Я хочу использовать структуру папок, например
/MyBundleName/User/User.php
для моих Существ.
Вопрос:
Есть ли в любом случае, что я могу явно сопоставить доктрину ORM напрямую, чтобы использовать явную директорию вместо того, чтобы по умолчанию не обращаться к каталогу Entity
моего Bundle?
Я хотел бы сохранить все связанные файлы в соответствующем каталоге, например ProductProvider
в
/MyBundleName/Product/ProductProvider.php
Любая помощь будет принята с благодарностью.
Чтобы немного поработать над правильным ответом @ Imanol, вы можете иметь свои сущности в нескольких каталогах под одним менеджером сущностей:
doctrine: orm: default_entity_manager: default auto_generate_proxy_classes: %kernel.debug% entity_managers: default: connection: default mappings: test01: connection: test01 mappings: product: type: yml dir: %kernel.root_dir%/../src/Cerad/Bundle/Test01Bundle/Product prefix: Cerad\Bundle\Test01Bundle\Product alias: Product is_bundle: false user: type: yml dir: %kernel.root_dir%/../src/Cerad/Bundle/Test01Bundle/User prefix: Cerad\Bundle\Test01Bundle\User alias: User is_bundle: false
Не беспокойтесь о is_bundle: false. Сущности все еще могут жить в связке. Доктрина не волнует. И в случае, если вам интересно, параметр alias позволяет вам делать такие вещи, как:
$repo = $em->getRepository("Product:Product");
вы можете указать Doctrine директорию, где ваши объекты
doctrine: orm: auto_generate_proxy_classes: %kernel.debug% auto_mapping: false mappings: name: type: php dir: %kernel.root_dir%/../src/Company/CartoDBBundle/Tests/CartoDB/Entity
Здесь у вас есть полная конфигурация Doctrine документации
Я сделал аналогичный вопрос несколько дней назад, там вы можете прочитать полный ответ, который дал мне Сидар
Похожие сообщения
Я потратил некоторое время на то, чтобы выяснить самый простой случай. Вот как я сделал это:
doctrine: orm: auto_generate_proxy_classes: "%kernel.debug%" auto_mapping: true mappings: AppBundle: mapping: true type: annotation dir: Model alias: AppBundle prefix: 'AppBundle\Model' is_bundle: true
Я просто хотел сохранить свои объекты в каталоге под названием «Модель» внутри моего пакета, а не по умолчанию «Entity».