J'ai une forme, et une colonne a le type Entity
, mais cette entité a une autre connexion.Modification de la connexion de doctrine sur la classe de formulaire et les accessoires Doctrine
Dans l'action que je peux $em->getDoctrine()->getEntityManager('name')
Comment modifier la connexion en classe de formulaire?
Peut-être peut éventuellement changer de connexion dans la classe d'entité. Vous aimez cette
orm:
default_entity_manager: default
entity_managers:
owner:
connection: owner
mappings:
RealestateCoreBundle:
Entity: MyEntity
mise à jour:
J'ai trouvé réponse ici :)
http://symfony.com/doc/2.0/reference/forms/types/entity.html#em
Mais comment je peux modifier la connexion dans la classe des appareils de données?
J'essaie:
<?php
namespace Realestate\CoreBundle\DataFixtures\ORM;
use Doctrine\Common\DataFixtures\FixtureInterface;
use Realestate\CoreBundle\Entity\Owner;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
class OwnerFixtures implements FixtureInterface, ContainerAwareInterface
{
private $container;
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}
public function load($manager)
{
$this->container->get('doctrine')->getEntityManager('owner');
for ($i = 0; $i < 100; $i++) {
$owner = new Owner();
$owner->setName('name-' . $i);
$owner->setTelephone(mt_rand(100000, 999999));
$manager->persist($owner);
}
$manager->flush();
}
}
mais le travail na pas :(
son '$ container-> get ('doctrine') -> getEntityManager ('manager_name');' doest work – rtyshyk
Vrai ... ça aurait dû ressembler plus à '$ this-> container-> get ('doctrine') -> getEntityManager ('manager_name');' tant que votre appareil est conscient du conteneur comme décrit dans le lien ci-dessus. C'est le bit important si vous souhaitez le faire de cette façon, votre appareil doit implémenter 'ContainerAwareInterface'. Passer le nom du manager sur la ligne de commande est probablement une méthode plus simple. – Kasheen
Mettre à jour la question. – rtyshyk