I have two connection of database in config.yml:
doctrine:
dbal:
default_connection: default
connections:
default:
host: %database_host%
port: %database_port%
dbname: %database_name%
user: %database_user%
password: %database_password%
driver: %database_driver%
charset: UTF8
spoop:
host: %database_host%
port: %database_port%
dbname: %spoop_database_name%
user: %spoop_database_user%
password: %spoop_database_password%
driver: %database_driver%
charset: UTF8
orm:
default_entity_manager: default
entity_managers:
default:
connection: default
#metadata_cache_driver: apc
#query_cache_driver: apc
#result_cache_driver: apc
mappings:
AcmeUserBundle: ~
AcmeBannieresBundle: ~
FOSUserBundle: ~
#SpoopAdminBundle: ~
spoop:
connection: spoop
#metadata_cache_driver: apc
#query_cache_driver: apc
#result_cache_driver: apc
mappings:
AcmeModerationBundle: ~
auto_generate_proxy_classes: %kernel.debug%
so in my acmeModerationBundle, i use the spoop connection. I have a formtype like this in Acme\ModerationBundle\Form:
class ModerationAnnonceForm extends AbstractType{
public function buildForm(FormBuilder $builder, array $options)
{
$builder
->add('descAnnonce')
->add('idRubrique','entity',array(
'class' => 'AcmeModerationBundle:TRubrique',
'expanded'=>true,
'multiple' =>false,
));
}
public function getDefaultOptions(array $options)
{
return array(
'data_class' => 'Acme\ModerationBundle\Entity\TAnnonces',
);
}
public function getName()
{
return 'acme_moderationbundle_annonceform';
}
}
the AcmeModerationBundle:TRubrique is defined in the proper place : Acme/Moderationbundle/Entity/TRubrique. When i trying to generate this form, i always get this:
Unknown Entity namespace alias ‘AcmeModerationBundle’. I take a look in the log,
at ORMException ::unknownEntityNamespace ('AcmeModerationBundle')
in D:\workspace\symfony_bannieres\vendor\doctrine\lib\Doctrine\ORM\Configuration.php at line 174 -+
at Configuration ->getEntityNamespace ('AcmeModerationBundle')
in D:\workspace\symfony_bannieres\vendor\doctrine\lib\Doctrine\ORM\Mapping\ClassMetadataFactory.php at line 156 -+
at ClassMetadataFactory ->getMetadataFor ('AcmeModerationBundle:TRubrique')
in D:\workspace\symfony_bannieres\vendor\doctrine\lib\Doctrine\ORM\EntityManager.php at line 257 -+
at EntityManager ->getClassMetadata ('AcmeModerationBundle:TRubrique')
in D:\workspace\symfony_bannieres\vendor\symfony\src\Symfony\Bridge\Doctrine\Form\ChoiceList\EntityChoiceList.php at line 113 -+
at EntityChoiceList ->__construct (object(EntityManager), 'AcmeModerationBundle:TRubrique', null, null, null)
in D:\workspace\symfony_bannieres\vendor\symfony\src\Symfony\Bridge\Doctrine\Form\Type\EntityType.php at line 62 -+
at EntityType ->getDefaultOptions (array('class' => 'AcmeModerationBundle:TRubrique', 'expanded' => true, 'multiple' => false, 'data' => null))
in D:\workspace\symfony_bannieres\vendor\symfony\src\Symfony\Component\Form\FormFactory.php at line 234 -
i suppose it use the default entity manager, i check the php app/console container:debug
doctrine.orm.default_entity_manager container Doctrine\ORM\EntityManager
doctrine.orm.entity_manager n/a alias for doctrine.orm.default_entity_manager
doctrine.orm.spoop_entity_manager container Doctrine\ORM\EntityManager
Anyone can tell me what’s wrong?
The entity field type accepts an
emoption which lets you specify the entity manager