我有一些表格,一列有Entity
類型,但是這個實體有另一個連接。更改表格類和學說夾具的學說連接
在行動,我可以$em->getDoctrine()->getEntityManager('name')
如何更改窗體類連接?
也許可以更改實體類中的連接。 像這樣
orm:
default_entity_manager: default
entity_managers:
owner:
connection: owner
mappings:
RealestateCoreBundle:
Entity: MyEntity
更新:
我找到答案在這裏:)
http://symfony.com/doc/2.0/reference/forms/types/entity.html#em
但如何我可以改變數據燈具類連接?
我嘗試:
<?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();
}
}
但沒有工作:(
其 '$ container-> get('doctrine') - > getEntityManager('manager_name');' doest work – rtyshyk
True ...它應該更像'$ this-> container-> get('doctrine') - > getEntityManager('manager_name');'只要你的夾具是容器感知的,上面的鏈接。如果你希望這樣做,這是非常重要的,你的燈具必須實現'ContainerAwareInterface'。雖然在命令行上傳遞經理的名字可能是一個更簡單的方法。 – Kasheen
更新問題。 – rtyshyk