[Ror-es] Busqueda con joins
Manuel Chacana L
mchacana at jcode.cl
Tue Apr 24 17:19:39 GMT 2007
Muchas gracias Xavier por la solución.
El día 24/04/07, Xavier Noria <fxn at hashref.com> escribió:
>
> On Apr 24, 2007, at 1:00 AM, Manuel Chacana L wrote:
>
> > Saludos a todos.
> >
> > Primero dar gracias por todas las ideas y soluciones expuestas.
> >
> > Ahora mi problema, tengo un modelo de esta forma
> >
> >
> > class Grupos< ActiveRecord::Base
> >
> > has_many :usuarios
> >
> > end
> >
> > class Usuarios< ActiveRecord::Base
> >
> > belongs_to :grupo
> >
> > end
> >
> > Donde Grupos tiene un nombre, descripción y otras cosas mas, por la
> > parte de los usuarios tienen nombre, apellido, interés, etc.
> >
> > y tengo que hacer una consulta que me entregue una "lista de
> > grupos" que contenga X palabra y que algún usuario se llame Y
> >
> > como puedo hacer esa consulta?
>
> Escribirias algo asi:
>
> Grupos.find(
> :all,
> :include => :usuarios,
> :conditions => [<<-SQL, param1, param2, ...]
> grupos.nombre LIKE ? AND
> grupos.descripcion LIKE ? AND
> ... AND
> usuarios.nombre = ? OR
> usuarios.apellido = ?
> SQL
> )
>
> Lo clave es el :include y el usar el nombre de las tablas en las
> condiciones.
> >
> > Trate de hacerlo con ferret pero no encontré como decirle que
> > busque de esa forma.
>
> Segun suelen recomendar en la lista de ferret, para poder buscar con
> joins en ferret hay que indexar la join "plana", es decir, debes
> saber de antemano que necesitaras buscar de esa manera y guardar para
> cada grupo el nombre y apellidos de todos sus integrantes. Asi, cada
> grupo en vez de generar una tupla en ferret genera tantas como
> usuarios distintos tiene.
>
> -- fxn
>
>
>
> _______________________________________________
> Ror-es mailing list
> Ror-es at lists.simplelogica.net
> http://lists.simplelogica.net/mailman/listinfo/ror-es
>
--
Manuel Chacana Lazcano
Estudiante: Ingenieria Ejecucion Informatica UTFSM
Programador: Jcode
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.simplelogica.net/pipermail/ror-es/attachments/20070424/7dd934dc/attachment-0001.htm
More information about the Ror-es
mailing list