Como apontar uma query??
13/03/2012 18:38
Opa pessoal, gostaria de uma ajuda sobre como apontar uma query que fiz aqui em um exercicio.
A ideia é o seguinte:
Eu tenho uma livraria, nessa livraria eu tenho classes dominio para usuario, livros e emprestimos. Na controller emprestimo eu quero que no create() somente seja visivel na lista de livros os que não foram emprestados ainda. Criei um booleano em livros que quando false diz que ainda não foi emprestado. No save() eu criei um emprestimoInstance.livros.booleano = true, ou seja, quando emprestimo é realizado o livro recebe true.
Ou seja, meu codigo não esta apontando onde a query tem que ser visivel.Não mudei views ainda, segue o codigo do controller, que faço a query com hibernate mas não aponto para nada:
def create = {
//fazer uma query p/ pegar --> existente na lista Livros e ao mesmo tempo inexistente na lista Emprestimo. Hibernate.
def emprestimoInstance = new Emprestimo()
emprestimoInstance.properties = params
def livros = Livros.createCriteria().list {
eq("emprestado", false)
}
return [emprestimoInstance: emprestimoInstance]
}
def save = {
def emprestimoInstance = new Emprestimo(params)
emprestimoInstance.livro.emprestado = true
if (emprestimoInstance.save(flush: true)) {
flash.message = "${message(code: 'default.created.message', args: [message(code: 'emprestimo.label', default: 'Emprestimo'), emprestimoInstance.id])}"
redirect(action: "show", id: emprestimoInstance.id)
}
else {
render(view: "create", model: [emprestimoInstance: emprestimoInstance])
}
}
Ajudem ae, meus estudos estão empacados com isso.
Obrigado.
Viva o Grails....
Tags:
Como apontar uma query??