Estoy creando formularios con alguna que otra peculiaridad y no se
cómo resolver un caso concreto. A ver si alguien me da la mágica
solución.
Conceptualmente es muy sencillo, tengo un usuario que tiene una
relación 1-N con comentarios, y quiero un formulario donde aparezca
solo el último comentario, digamos que es el comentario de la semana.
Durante la semana el usuario puede modificar el comentario, con lo que
debería mostrarse como campo de texto, pero los comentarios anteriores
no tienen que verse en este formulario.
Lo único que consigo por ahora es un campo select con los comentarios
existentes, lo qual no es lo que necesito.
Si he entendido bien, necesitas algo así como un form embedido dentro de
otro form, no? Y que además lo que embedes no sea toda la relación en
cascada sino un filtro de esa relación.
> Estoy creando formularios con alguna que otra peculiaridad y no se
> cómo resolver un caso concreto. A ver si alguien me da la mágica
> solución.
> Conceptualmente es muy sencillo, tengo un usuario que tiene una
> relación 1-N con comentarios, y quiero un formulario donde aparezca
> solo el último comentario, digamos que es el comentario de la semana.
> Durante la semana el usuario puede modificar el comentario, con lo que
> debería mostrarse como campo de texto, pero los comentarios anteriores
> no tienen que verse en este formulario.
> Lo único que consigo por ahora es un campo select con los comentarios
> existentes, lo qual no es lo que necesito.
Al tratarse de algo mas simple pensaba que no haría falta utilizar los
form collections, pero ya veo que no jeje.
Bien voy a probar y ya comento la solución cuando la encuentre.
Gracias
On 9 mayo, 12:51, Ricard Clau <ricard.c...@gmail.com> wrote:
> Si he entendido bien, necesitas algo así como un form embedido dentro de
> otro form, no? Y que además lo que embedes no sea toda la relación en
> cascada sino un filtro de esa relación.
> Y para el filtrado, por lo menos en el caso de las combos, se consigue
> usando un tipo "entity" en el form y construyendo ahí la query que necesites
> Espero que te sirva para ver por dónde van los tiros!
> El 9 de mayo de 2012 12:33, Arnau González <arna...@gmail.com> escribió:
> > Buenos dias,
> > Estoy creando formularios con alguna que otra peculiaridad y no se
> > cómo resolver un caso concreto. A ver si alguien me da la mágica
> > solución.
> > Conceptualmente es muy sencillo, tengo un usuario que tiene una
> > relación 1-N con comentarios, y quiero un formulario donde aparezca
> > solo el último comentario, digamos que es el comentario de la semana.
> > Durante la semana el usuario puede modificar el comentario, con lo que
> > debería mostrarse como campo de texto, pero los comentarios anteriores
> > no tienen que verse en este formulario.
> > Lo único que consigo por ahora es un campo select con los comentarios
> > existentes, lo qual no es lo que necesito.
Usando el tipo entity puedes pasar la clase en cuestión y la propiedad, o
usar el query_builder, para filtrar y sólo enseñar el último comentario.
Aunque lo malo es que por defecto usa select, radio o check para visualizar.
La solución rápida, aunque (muy) fea, para usar un text/textarea podría
ser añadir métodos get/set a la entity del usuario para gestionar el último
comentario.
Mejor embedir forms dentro de forms.
Salu2
El 9 de mayo de 2012 13:03, Arnau González <arna...@gmail.com> escribió:
> Al tratarse de algo mas simple pensaba que no haría falta utilizar los
> form collections, pero ya veo que no jeje.
> Bien voy a probar y ya comento la solución cuando la encuentre.
> > Si he entendido bien, necesitas algo así como un form embedido dentro de
> > otro form, no? Y que además lo que embedes no sea toda la relación en
> > cascada sino un filtro de esa relación.
> > Para embedir forms dentro de forms, deberías mirarte el cookbookhttp://
> symfony.com/doc/current/cookbook/form/form_collections.html
> > Y para el filtrado, por lo menos en el caso de las combos, se consigue
> > usando un tipo "entity" en el form y construyendo ahí la query que
> necesites
> > Espero que te sirva para ver por dónde van los tiros!
> > El 9 de mayo de 2012 12:33, Arnau González <arna...@gmail.com> escribió:
> > > Buenos dias,
> > > Estoy creando formularios con alguna que otra peculiaridad y no se
> > > cómo resolver un caso concreto. A ver si alguien me da la mágica
> > > solución.
> > > Conceptualmente es muy sencillo, tengo un usuario que tiene una
> > > relación 1-N con comentarios, y quiero un formulario donde aparezca
> > > solo el último comentario, digamos que es el comentario de la semana.
> > > Durante la semana el usuario puede modificar el comentario, con lo que
> > > debería mostrarse como campo de texto, pero los comentarios anteriores
> > > no tienen que verse en este formulario.
> > > Lo único que consigo por ahora es un campo select con los comentarios
> > > existentes, lo qual no es lo que necesito.
> Al tratarse de algo mas simple pensaba que no haría falta utilizar los
> form collections, pero ya veo que no jeje.
> Bien voy a probar y ya comento la solución cuando la encuentre.
> > Si he entendido bien, necesitas algo así como un form embedido dentro de
> > otro form, no? Y que además lo que embedes no sea toda la relación en
> > cascada sino un filtro de esa relación.
> > Para embedir forms dentro de forms, deberías mirarte el cookbookhttp://
> symfony.com/doc/current/cookbook/form/form_collections.html
> > Y para el filtrado, por lo menos en el caso de las combos, se consigue
> > usando un tipo "entity" en el form y construyendo ahí la query que
> necesites
> > Espero que te sirva para ver por dónde van los tiros!
> > El 9 de mayo de 2012 12:33, Arnau González <arna...@gmail.com> escribió:
> > > Buenos dias,
> > > Estoy creando formularios con alguna que otra peculiaridad y no se
> > > cómo resolver un caso concreto. A ver si alguien me da la mágica
> > > solución.
> > > Conceptualmente es muy sencillo, tengo un usuario que tiene una
> > > relación 1-N con comentarios, y quiero un formulario donde aparezca
> > > solo el último comentario, digamos que es el comentario de la semana.
> > > Durante la semana el usuario puede modificar el comentario, con lo que
> > > debería mostrarse como campo de texto, pero los comentarios anteriores
> > > no tienen que verse en este formulario.
> > > Lo único que consigo por ahora es un campo select con los comentarios
> > > existentes, lo qual no es lo que necesito.
He estado estudiando las dos opciones propuestas. Posiblemente en otro
formulario parecido tenga que añadir otro nivel de relación, es decir:
Usuario oneToMany Direcciones / Dirección manyToOne País.
En este caso entiendo que la opción de usar el tipo entity no sirve y
que lo correcto es embedir el tipo Dirección dentro del tipo Usuario.
Pero claro, aquí no puedo definirle el query_builder y pedir solo un
resultado. Como filtro?
On 9 mayo, 13:17, Jon Segador <jon...@gmail.com> wrote:
> Faltaría indicar el query_builder con la consulta que quieras ejecutar.
> Ya no contarás :)
> El 9 de mayo de 2012 13:03, Arnau González <arna...@gmail.com> escribió:
> > Al tratarse de algo mas simple pensaba que no haría falta utilizar los
> > form collections, pero ya veo que no jeje.
> > Bien voy a probar y ya comento la solución cuando la encuentre.
> > > Si he entendido bien, necesitas algo así como un form embedido dentro de
> > > otro form, no? Y que además lo que embedes no sea toda la relación en
> > > cascada sino un filtro de esa relación.
> > > Para embedir forms dentro de forms, deberías mirarte el cookbookhttp://
> > symfony.com/doc/current/cookbook/form/form_collections.html
> > > Y para el filtrado, por lo menos en el caso de las combos, se consigue
> > > usando un tipo "entity" en el form y construyendo ahí la query que
> > necesites
> > > Espero que te sirva para ver por dónde van los tiros!
> > > El 9 de mayo de 2012 12:33, Arnau González <arna...@gmail.com> escribió:
> > > > Buenos dias,
> > > > Estoy creando formularios con alguna que otra peculiaridad y no se
> > > > cómo resolver un caso concreto. A ver si alguien me da la mágica
> > > > solución.
> > > > Conceptualmente es muy sencillo, tengo un usuario que tiene una
> > > > relación 1-N con comentarios, y quiero un formulario donde aparezca
> > > > solo el último comentario, digamos que es el comentario de la semana.
> > > > Durante la semana el usuario puede modificar el comentario, con lo que
> > > > debería mostrarse como campo de texto, pero los comentarios anteriores
> > > > no tienen que verse en este formulario.
> > > > Lo único que consigo por ahora es un campo select con los comentarios
> > > > existentes, lo qual no es lo que necesito.