Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
Duda con Fixtures
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  9 messages - Collapse all  -  Translate all to Translated (View all originals)
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Richard Perez  
View profile   Translate to Translated (View Original)
 More options May 3 2012, 4:43 pm
From: Richard Perez <richar...@gmail.com>
Date: Thu, 3 May 2012 13:43:00 -0700 (PDT)
Subject: Duda con Fixtures

Hola a todos, tengo una duda con unas fixtures que comparten objetos,

Tengo una primera fixture que carga lo que son las "Áreas de Conocimiento"
( he cambiado un poco el código para simplificarlo, pero creo que la idea
se mantiene )

        $areasConocimientos = new AreasConocimientos();
    $areasConocimientos->setAreaConocimiento('Diseño');
    $manager->persist ($areasConocimientos);
    $this->addReference( 'Diseño',  $areasConocimientos);

    $areasConocimientos = new AreasConocimientos();
    $areasConocimientos->setAreaConocimiento('Programacion');
    $manager->persist ($areasConocimientos);
    $this->addReference( 'Programacion',  $areasConocimientos);

        $areasConocimientos = new AreasConocimientos();
    $areasConocimientos->setAreaConocimiento('Otro');
    $manager->persist ($areasConocimientos);
    $this->addReference( 'Otro',  $areasConocimientos);

    $manager->flush();

Ahora en una segunda fixture (getOrder = 2)

$areaConocimiento= array(
                         'Diseño' => array( 'Diseño 1', 'Diseño 2' ),
                         'Programación' => array( 'Programacion 1',
'Programacion'),
                         'Otro' => array( 'Otro 1', 'Otro 2' )
                        );
foreach( $areaConocimiento as $area => $programas ){

                foreach( $programas as $programa ){

                    //El objeto programa ProgramasEstudios tiene un Id, un
campo string y una Relacion ManyToOne con AreasConocimientos
                    $objProgramasEstudios = new ProgramasEstudios();
                    $objProgramasEstudios->setProgramasEstudios( $programa
);
                    $objProgramasEstudios->setAreaConocimiento(
$manager->merge( $this->getReference($area) ) );
                    $manager->persist( $objProgramasEstudios );          

                }

}

 $manager->flush();

Si ejecuto el comando para cargar las fixtures todo funciona sin problemas
al haber usado $this->addReference()... luego puedo llamarla
$this->getReference($area), el problema esta en que quiero usar los
"programas de estudios" como referencia para otra fixture que
necesito, así que agrego esta línea

$this->addReference( $programa, $objProgramasEstudios);// debajo
de  $manager->persist( $objProgramasEstudios );

Cuando hago esto y trato cargar las fixtures obtengo el siguiente error:

[BadMethodCallException]  
  Reference to: (Diseño ) already exists, use method setReference in order
to override it

Supongo  (es a la conclusión que he llegado) que al crear la referencia
del $objProgramasEstudios, como este a su vez contiene un objeto de tipo
AreasConocimiento trata de crear una referencia de la misma tambien, pero
como ya existe una (cuando se crearon en el primer fixture) da un error, si
uso el metodo setReference como lo indica obtengo otro error $objProgramasEstudios->setAreaConocimiento(
$manager->merge( $this->getReference($area) ) ); indicando que no estoy
pasando un objeto de tipo AreaConocimiento sino uno
Proxies\EstudiosBundleEntityProgramasEstudiosProxy

Alguien que me pueda ayudar :D


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Richard Perez  
View profile   Translate to Translated (View Original)
 More options May 4 2012, 4:09 pm
From: Richard Perez <richar...@gmail.com>
Date: Fri, 4 May 2012 13:09:15 -0700 (PDT)
Local: Fri, May 4 2012 4:09 pm
Subject: Re: Duda con Fixtures

Alguien que tenga una idea?

El jueves, 3 de mayo de 2012 16:13:00 UTC-4:30, Richard Perez escribió:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Discussion subject changed to "Ayuda: Tests consumen demasiada memoria" by Xavi Montero
Xavi Montero  
View profile   Translate to Translated (View Original)
 More options May 4 2012, 4:52 pm
From: Xavi Montero <xmont...@dsitelecom.com>
Date: Fri, 04 May 2012 22:52:37 +0200
Local: Fri, May 4 2012 4:52 pm
Subject: Ayuda: Tests consumen demasiada memoria

Hola,

Estoy pasando tests a mi proyecto y si testeo un �nico Bundle perfecto,
pero si testeo todo en general, parece que se "acumulan" los consumos de
memoria.

Como el server de pruebas en cuesti�n tiene 512MB de RAM, al pasar el
test "completo" me peta la m�quina.

==========================
xavi@bromo$ phpunit -c app/ src/FrontEnd/FeedbackBundle/
[...]
Time: *8 seconds, Memory: 103.00Mb*
OK (*3 tests, 27 assertions*)
xavi@bromo$
==========================
xavi@bromo$ phpunit -c app/ src/FrontEnd/
[...]
Time: *01:51, Memory: 508.75Mb*
OK (*24 tests, 420 assertions*)
---> Deber�a devolver el control al shell y se queda clavado por falta
de memoria
==========================

�Alguien tiene alguna pista sobre c�mo optimizar los recursos durante el
test o al menos "monitorizar" qui�n genera los leaks (si soy yo o es el
phpunit)?

Saludos!
Xavi.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Discussion subject changed to "Duda con Fixtures" by proclamo
proclamo  
View profile   Translate to Translated (View Original)
 More options May 4 2012, 6:52 pm
From: proclamo <procl...@gmail.com>
Date: Fri, 4 May 2012 15:52:31 -0700 (PDT)
Local: Fri, May 4 2012 6:52 pm
Subject: Re: Duda con Fixtures

¿Tienes en cuenta el orden en que se cargan los fixtures? Me suena haber
tenido problemas similares por no haberlo establecido. Ahora de memoria no
recuerdo cómo se establecía el orden, no se si había un método getOrder() o
era una annotation.

El viernes, 4 de mayo de 2012 22:09:15 UTC+2, Richard Perez escribió:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Richard Perez  
View profile   Translate to Translated (View Original)
 More options May 5 2012, 12:17 am
From: Richard Perez <richar...@gmail.com>
Date: Fri, 4 May 2012 21:17:07 -0700 (PDT)
Local: Sat, May 5 2012 12:17 am
Subject: Re: Duda con Fixtures

Si si tengo en cuenta el orden... de hecho ese es el método getOrder(),
pero no se trata del orden. Mañana publico una forma mas sencilla de
explicarlo a ver si alguien tiene una solucion :D.

El viernes, 4 de mayo de 2012 18:22:31 UTC-4:30, proclamo escribió:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Carlos Zuniga  
View profile   Translate to Translated (View Original)
 More options May 5 2012, 1:11 am
From: Carlos Zuniga <carlos....@gmail.com>
Date: Sat, 5 May 2012 00:11:09 -0500
Local: Sat, May 5 2012 1:11 am
Subject: Re: [symfony-es] Duda con Fixtures
2012/5/3 Richard Perez <richar...@gmail.com>:

Lo raro es que el error dice "Diseño " en lugar de "Diseño 1" u otro.
Seguro que no es un error de tipeo en algún fixture?

Internamente setReference simplemente añade el objeto a un array con
la referencia como clave así que no creo que sea algún error de
referencia cruzada.

Saludos
--
Linux Registered User # 386081
A menudo unas pocas horas de "Prueba y error" podrán ahorrarte minutos
de leer manuales.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Richard R. Perez Q.  
View profile   Translate to Translated (View Original)
 More options May 7 2012, 10:20 am
From: "Richard R. Perez Q." <richar...@gmail.com>
Date: Mon, 7 May 2012 09:50:37 -0430
Local: Mon, May 7 2012 10:20 am
Subject: Re: [symfony-es] Duda con Fixtures

No, no es error de tipeo :S... A mi tambien me parecia raro que dijera
"Diseño" en lugar de "Diseño 1", por lo que llegue a esa conclusión que al
agregar el objeto "ProgramasEstudios" como este a su vez contiene un
objecto "AreaConocimiento" trata de agregar la referencia de este último
también, la cual si ya fue agregada... y quizás también por eso al user
setReference, lo cual sobreescribe una referencia entonces obtengo luego
error en setAreaconocimiento, pero todo esto lo asumo según lo que veo,
esperaba que alguien me dijera si era asi, si me equivocaba o si hay alguna
otra solución, en realidad se me ocurre una, pero no es muy elegante
entonces quiero escuchar opiniones

Gracias a todos por sus respuestas

2012/5/5 Carlos Zuniga <carlos....@gmail.com>

--
*Atte.*
*Richard R. Perez Q.*

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Richard R. Perez Q.  
View profile   Translate to Translated (View Original)
 More options May 7 2012, 10:42 am
From: "Richard R. Perez Q." <richar...@gmail.com>
Date: Mon, 7 May 2012 10:12:53 -0430
Local: Mon, May 7 2012 10:42 am
Subject: Re: [symfony-es] Duda con Fixtures

Disculpen Todos ya encontré el error y bueno lo que estaba asumiendo era
incorrecto, me parecía algo extraño, pero era lo único que se me ocurría,
como les dije trate de resumir el código para hacerlo más legible, pero ahi
fue donde estaba el problema que no vieron mi error real :p

$areaConocimiento= array(
                         'Diseño' => array( 'Diseño 1', 'Diseño 2' ),
                         'Programación' => array( 'Programacion 1',
'Programacion'),
                         'Otro' => array( 'Otro 1', 'Otro 2' )
                        );

El error estaba es que dentro de las areas de conocimiento (Diseño,
Programación, Otros) habían otras mas y no me había fijado que una de ellas
tenía también como programa de estudios 'Diseño', entonces tenia una Area
de Conocimiento y un programa de estudios que se llamaban igual.

Nuevamente Gracias a Todos

2012/5/7 Richard R. Perez Q. <richar...@gmail.com>

--
*Atte.*
*Richard R. Perez Q.*

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Marcos José Pérez Pérez  
View profile   Translate to Translated (View Original)
 More options May 7 2012, 11:37 am
From: Marcos José Pérez Pérez <darkmor...@gmail.com>
Date: Mon, 7 May 2012 11:07:33 -0430
Local: Mon, May 7 2012 11:37 am
Subject: Re: [symfony-es] Duda con Fixtures

areasDeConocomiento lo estas declarabdo 3 veces con el.mismo nombre tu
identificador debe ser diferente...
El 03/05/2012 16:13, "Richard Perez" <richar...@gmail.com> escribió:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages
« Back to Discussions « Newer topic     Older topic »