Secciones

Artículos para tus primeros pasos

Si estás empezando a introducirte en el mundo de Groovy y Grails, no te pierdas nuestros artículos básicos: 

Entrevistas con los expertos
 

Los protagonistas te cuentan de qué van los proyectos más importantes del mundo Groovy:


Un proyecto de:
ImaginaWorks
Campus Escuela de Groovy

Grails

Como creo un objeto al mismo tiempo que creo otro ??

echizen - miércoles 07/04/2010

mi problema es que tengo 2 objetos, relacionados uno con otro, es decir tengo una clase de dominio persona con 5 parametros, y una clase estudiante, que tiene 3 parametros, pero son 3 que pertenecen a persona... lo que intento hacer es que cuando creo una persona crear automaticamente un estudiante, sin ir a la vista crear de este... se entendio claramente mi duda ???

 alguien que me ayude...  

Re: Como creo un objeto al mismo tiempo que creo otro ??

Nacho - jueves 08/04/2010

Hola,

 

tendrás que modificar la acción save de PersonaController para que una vez creado el objeto cree otro de tipo Estudiante, algo así:

def p = new Persona(params)

if(p.save()){

 def e = new Estudiante(prop1:p.prop1,prop2:p.prop2, ...)

 e.save()

}

Re: Como creo un objeto al mismo tiempo que creo otro ??

yagarsi - jueves 08/04/2010

Hola,

¿No te resultaría más interesante que Estudiante herede de Persona?. Al fin y al cabo, un estudiante es una persona. De esta forma, sólo tendrías que crear el objeto Estudiante, y guardaría los datos automáticamente en las tablas de personas y estudiantes.

 

 

Re: Como creo un objeto al mismo tiempo que creo otro ??

itubal - miércoles 14/04/2010

Cuidado con eso de la herencia... Ver mi post más abajo.

La herencia está bien si de Persona heredan Estudiantes y Profesores y sólo manejas estudiantes y profesores.

Dá problemas si trabajas directamente con personas. Yo lo único que me ha funcionado es saber si existe una persona, pero no se sabe si esa persona es alumno o profesor. No doy de alta personas, solo alumnos o profesores y puedo buscar por personas.

Esto me ha llevado a poner un campo "tipo" en Personas y ahí meterle de nuevo si es alumno o profesor , en los "creates" de alumno y profesor le pongo un campo oculto con el tipo para que se guarde el tipo correcto. Así cuando busco una persona sé de que tipo es y si tengo que hacer algo más complicado posteriormente ya utilizo Alumnos o Profesores.

Esto me llevó un monton de tiempo con errores y pérdidas de tiempo. Seguro que no es lo más correcto, pero a mi me funciona y lo otro no. Ver más abajo post sobre esto.

Contacta conmigo en Twitter (itubal)

 

Responder al hilo | Volver al foro "Grails" | Volver a los foros