Ver Mensaje Individual
  #14 (permalink)  
Antiguo 19/05/2013, 07:13
miktrv
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 9 meses
Puntos: 165
Respuesta: Problema con Symfony2 y la carga de Fixtures en tablas intermedias autogen

Yo intenté hacerlo, y di con la siguiente forma, espero que te pueda servir.

El primer paso es importar la clase AbstractFixture.

Código PHP:
Ver original
  1. use Doctrine\Common\DataFixtures\AbstractFixture;

Extiendes la clase del fixture:

Código PHP:
Ver original
  1. class LoadUsuariosAndAlimentos extends AbstractFixture {


Después, importas las librerías de tus entidades que formarían parte de la relación, por ejemplo alimentos y usuarios.

Después, haces un método para cargar usuarios, y a cada entidad de usuario, le asignas una referencia interna para el fixture:


Código PHP:
Ver original
  1. public function loadUsuarios(ObjectManager $manager) {
  2.  
  3.    $Entity = new Usuario();
  4.    $Entity->setName('Juan');
  5.    ...
  6.    $manager->setReference('Juan', $Entity);
  7.    $manager->persist($Entity);
  8.    $manager->flush();
  9.  
  10. }

Como puedes ver creas una referencia interna para el manager que después usarás.

A continuación, el método de los alimentos:

Código PHP:
Ver original
  1. public function loadAlimentos(ObjectManager $manager) {
  2.  
  3.    $Entity = new Alimento();
  4.    ...
  5.    $Entity->setUsuario($this->getReference('Juan'));
  6.    ...
  7.  
  8. }

Y por último, en el método load, llamas a los dos métodos anteriores en el orden correcto:

Código PHP:
Ver original
  1. public function load(ObjectManager $manager) {
  2.         $this->loadUsuarios($manager);
  3.         $this->loadAlimentos($manager);
  4.     }
__________________
Gracias por el Karma :D

empleo ofertas de trabajo