我在我的 symfony 2.3 应用程序中使用了 doctrine。我想使用像
这样的文件夹结构/MyBundleName/User/User.php
对于我的实体。
问题:
我是否可以直接显式映射 doctrine ORM 以使用显式目录,而不是默认到我的 Bundle 的 Entity
目录?
我想将所有相关文件保存在各自的目录中,例如 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 条目。实体仍然可以捆绑在一起。教义不在乎。如果您想知道,别名参数可让您执行以下操作:
$repo = $em->getRepository("Product:Product");
关于php - 如何更改 symfony 2 doctrine 映射器以使用我的自定义目录而不是包下的实体目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18503093/