Otra alternativa.... Cliente.all( :joins => [ :solicitudes => :clientes_movimientos ], :conditions => ["clientes_movimientos.saldos > 0"], :select => "distinct clientes.*" )
El día 24 de junio de 2010 17:06, Nestor Rodriguez <[email protected]> escribió: > Gracias lo voy a probar. > > Atte. > Nestor > > -------------------------------------------------- > From: "Silvio Quadri" <[email protected]> > Sent: Thursday, June 24, 2010 12:19 PM > To: "Grupo Ruby Argentina" <[email protected]> > Subject: Re: [RubyArg] El problema de quitar de un objeto tabla,otros > objetos tabla relacionados. > >> El día 24 de junio de 2010 16:04, Nestor Rodriguez >> <[email protected]> escribió: >>> >>> Bueno me voy a explicar, tengo estas tablas y sus relaciones >>> >>> Clientes >>> || >>> ||>>> Solicitudes >>> || >>> ||>>>>ClienteMovimiento >>> >>> Yo voy a aplicar un criterio a ClienteMovimiento y por supuesto me va a >>> devolver un objeto @clientes_movimientos conteniendo todos los objetos >>> fila. >>> @clientes_movimientos = ClienteMovimiento.find(:all, :conditions => >>> "saldo > >>> 0") >>> >>> Yo quisiera quitar por la relación que existe entre las tablas algo como >>> esto >>> >>> @clientes = @clientes_movimientos.solicitudes.clientes.all >>> >>> Es decir todos los clientes que por relación con ClienteMovimiento esten >>> incluidos dentro del filtro, por relación en cascada. >>> >>> Se que así no funciona pero por lo menos me doy a entender, le doy >>> vueltas y >>> no encuentro como hacerlo, estoy un poco perdido en cuanto a conceptos de >>> como maneja active record las tablas, pero le estoy dando duro a la >>> lectura, pero me urge resolver este problema. >>> >>> Si alguno de ustedes puede ayudar por favor!! >>> >>> Gracias. >>> Néstor >>> >> >> Si lo querés a lo bruto (te lo dejo para que lo mejores!) >> ClientesMovimientos.find(:all).collect{ |cm| cm.solicitud.cliente }.uniq >> >> >> Si lo querés optimizado, dejalo al motor de base de datos que lo haga ... >> Cliente.find(:all, :conditions => "( exists ( select 1 from >> clientes_movimientos a, solicitudes b bla bla bla ) )" ) >> >> >> >> >> >> -- >> Silvio Quadri >> _______________________________________________ >> Ruby mailing list >> [email protected] >> http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar >> > _______________________________________________ > Ruby mailing list > [email protected] > http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar > _______________________________________________ Ruby mailing list [email protected] http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
