Ver Mensaje Individual
  #5 (permalink)  
Antiguo 15/01/2014, 18:52
KRADLEGNO
 
Fecha de Ingreso: julio-2007
Mensajes: 11
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Grails - Implementar una consulta HQL

Hola, efectivamente, este es un ejemplo para mostrar datos de un Controller a una Vista.

A lo que yo quería llegar es:

Mediante una consulta HQL, mostrar los datos en un Select.

Y quedo de la siguiente forma (Espero poder explicarme):

En el Controller (de una aplicación CRUD ya al 100%)

Tenia:

def create = {
def prestamoInstance = new Prestamo()
prestamoInstance.properties = params
return [prestamoInstance: prestamoInstance]
}

A lo cual con executeQuery, me permitio, realizar el query de dos tablas (DomainClasses) uniéndolas por los ID de las tablas

El detalle que tenia es que el Create (por default) retorna los datos para mostrar los datos que van a guardar los values de todos los demas atributos del gsp

Por lo tanto únicamente se debía "fusionar" la declaración de quienes maparean dichos datos.
***Tanto para todos los atributos del gsp, como en particular para el Select***

Quedando:

def create = {
def prestamoInstance = new Prestamo()
prestamoInstance.properties = params
def resultados = Prestamo.executeQuery("select p.nombre from Persona p where not exists (select t.persona from Prestamo t where t.persona = p.id)")
[prestamoInstance: prestamoInstance, resultados: resultados]
}

Por ultimo en el GSP únicamente fue asignar los valores con: ${} en la propiedad From del Select

<g:select name="prestamo.resultados" from="${resultados}" value="${resultado}"/>


Espero que este tema le pueda servir a alguien mas en el futuro... :)