Consultas Many-to-many
17/05/2010 00:00
Olá pessoal,
Ainda futucando o G&G pra testes, me deparei com uma situação que levei de 1x0
até agora.
package menu
class Usuario {
String login
String senha
static hasMany = [menus:Menu]
}
}
package menu
class Menu {
String descricao
String categoria
Integer ordem
Menu menu
static hasMany = [usuarios:Usuario]
static belongsTo = Usuario
String toString(){
"${this.descricao}"
}
static mapping = {
sort ordem:"asc"
}
}
Grails will automatically inject a property of type java.util.Set into the domain class based on the hasMany setting. This can be used to iterate over the collection:
def a = Author.get(1)
a.books.each {
println it.title
}[/quote]
Pois então, n consegui.. <!-- s:( --><img src="{SMILIES_PATH}/icon_sad.gif" alt=":(" title="Sad" /><!-- s:( -->
Tags:
Grails
Tive que fazer assim, mas isso tá muito armengado.
def menu = {
intId ->
def menus = menu.Menu.getAll()
def usuario = menu.Usuario.get(intId)
def lista = []
menus.each {
for (m in it.usuarios) {
if(m.id == usuario.id){
lista.add(it)
}
}
}
return lista
}
O detalhe é que eu quero que o menu venha em ordem estabelecida no "mapping" da classe, e
buscando a partir de "usuário", ela vem do jeito que ela mais gosta, menos ordenada <!-- s:) --><img src="{SMILIES_PATH}/icon_smile.gif" alt=":)" title="Smile" /><!-- s:) -->
Sei que preciso estudar muito mais (groovy), mas...
Ainda não faz parte da comunidade???
Para se registrar, clique aqui.