Pesquisa com campo Data
07/11/2012 17:44
0
Boa Tarde
Tenho uma aplicação grails que salva no banco uma variavel tipo Date, realizando consultas alterei o meu arquivo controler e adicionei
def doSearch = {
return [ dia:Pessoa.findAllByDiapLike("%"+params.diap+"%") ]
}
que retorna uma consulta mas o problema que com este metodo só posso pesquisar tipo string como poderia pesquisar tipo Date
Obrigado
Tags: help


0
Não entendi... vc tem um atributo chamado "diap" em seu modelo Pessoa e gostaria de fazer uma busca por dia?

Esse atributo é do tipo Date e vc só usa ele para armazenar dia?
07/11/2012 17:47


0
Nele esta armazenado um data DD/MM/AAAA gostaria de fazer uma busca por ele o unico problema é que com este metodo que usei só consigo buscar tipo String já testei queria buscar tipo Date.
07/11/2012 17:50


0
A sixtaxe esta correta o unico problema é no metodo findAllByDiapLike sendo que diap é uma campo da minha tabela isso funciona perfeitamente com String
07/11/2012 17:52


1
Entendi, mas vc tem a data toda? Se estiver recebendo isso por params faça:

Pessoa.findByDiap(params.data)


O grails gera dinamicamente métodos de busca, find e findAll para todos os atributos em seu domínio.
07/11/2012 18:06


0
Eu recebo a data junto com outros dados e guardo no banco. Agora preciso realizar uma consulta por Data onde essa data é passada por parametro(via formulario) para realizar esta consulta e listar os resultados.Desculpe mas o metodo acima não funcionou.
07/11/2012 18:20


0
Vamos tentar fazer o mais simples como converteria esta entrada de dados do formato Date para String assim solucionaria o problema ou melhor coloco pra receber com string mas formantando a entrada de dados
08/11/2012 10:33


1
Cara, vc está recebendo uma data mesmo? Está usando o Datepicker do grails ou um campo qualquer que você monta a data?

Se estiver utilizando uma data mesmo, o método acima é pra funcionar sem problemas, e é o mais indicado. Se não estiver utilizando o date picker, esta data chega como uma string em seu controller... nesse caso você pode utilizar o like, ou converter isso para um objeto Date.


//Se estiver recebendo a string do form
params.diap = new Date.parse('dd/MM/yyyy', params.diap)

def resultadoBusca = Pessoa.findAllByDiap(params.diap)


08/11/2012 11:54


0
Sim eu estou recebendo no formato Date gostaria de recebe-lo no formato string mas já formatando DD/MM/AAAA ou receber como Date mesmo e conseguir realizar a busca pelo formulario do arquivo search.gsp
08/11/2012 15:44


0
Obrigado
Funcionou com o formato Date eu que estava implementando errado no meu formulario ficou desde modo para listar todos Pessoa.findAllByDiap(params.data) utilizei o findAll para listar mais de 1
08/11/2012 16:52



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto