Nic*_*zol 14 symfony doctrine-orm
配置使用:
doctrine:
dbal:
driver: "%database_driver%"
....
orm:
auto_generate_proxy_classes: "%kernel.debug%"
auto_mapping: true
Run Code Online (Sandbox Code Playgroud)
这是什么意思auto_mapping?它用于大量的真假的例子,没有精确的描述.代理生成何时发生,如果它不是自动的?通过doctrine命令行工具?
qoo*_*mao 11
auto_mapping是doctrine将自动从bundle Resources/config/doctrine目录加载映射的地方.
将其设置为false意味着您需要自己加载映射.如果您有实体的映射而不是要覆盖的供应商包中的映射超类,则可以很方便.
你可以通过陈述doctrine配置中的映射来做到这一点......
doctrine:
orm:
entity_managers:
default:
mappings:
AcmeUnknownBundle:
mapping: true
type: yml
dir: "Resources/config/doctrine"
alias: ~
prefix: Acme\UnknownBundle\Entity
is_bundle: true
Run Code Online (Sandbox Code Playgroud)
将它们添加到某种映射中通过 ......
class AcmeUnknownBundle extends Bundle
{
public function build(ContainerBuilder $container)
{
parent::build($container);
// ...
$modelDir = realpath(__DIR__.'/Resources/config/doctrine/model');
$mappings = array(
$modelDir => 'Acme\UnknownBundle\Model',
);
$ormCompilerClass = 'Doctrine\Bundle\DoctrineBundle\DependencyInjection\Compiler\DoctrineOrmMappingsPass';
if (class_exists($ormCompilerClass)) {
$container->addCompilerPass(
DoctrineOrmMappingsPass::createYamlMappingDriver(
$mappings,
array('acme_unknown.model_manager_name'),
true
));
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7254 次 |
| 最近记录: |