Ответ 1
auto_mapping
- это то, где doctring автоматически загружает отображение из вашего каталога Resources/config/doctrine
.
Установка его в значение false означает, что вам нужно будет загружать сопоставления самостоятельно. Это может быть удобно, если у вас есть сопоставления для сущностей, а не сопоставленные суперклассы в комплекте поставщика, который вы хотите переопределить.
Вы можете сделать это либо путем указания сопоставлений в конфигурации доктрины...
doctrine:
orm:
entity_managers:
default:
mappings:
AcmeUnknownBundle:
mapping: true
type: yml
dir: "Resources/config/doctrine"
alias: ~
prefix: Acme\UnknownBundle\Entity
is_bundle: true
добавляя их в виде сопоставления сопоставлений...
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
));
}
}
}