![]() |
Hacer un Join desde Ruby Buenas compañeros, son nuevo en el mundo de RoR y tengo un proyecto. En el cual dicho sea de paso me estan presionando para ver resultados. Para iniciar la BD es heredado de otro sistema y es compartida con otras aplicaciones por lo que no podemos cambiarla. Esto lo digo porque como van a ver, no cumple con las standares que establece ruby. Ok, tengo este sql. SELECT T.TASKEMP, T.TASKID, A.TIMEACTTYPE, sum(A.TIMEACTDURATION) FROM TASKS T, TIMEACT A WHERE T.TASKJOBID = "3350000-1125077875" AND T.TASKJOBID = A.TIMEACTJOB and T.TASKEMP = A.TIMEACTEMP and T.TASKID = A.TIMEACTTASK y no se como hacerlo desde ruby he encontrado cosas como el uso de :order :includes :join_include pero tampoco he podido encontrar donde descargarlos Gracias por la ayuda que me puedan brindar |
Re: Hacer un Join desde Ruby Hola ruddyvar, es sencillo hacer un join en Rails, aunque aqui es familiarmente conocido como "eager loading", aqui un ejemplo: Supongamos que tenemos 2 modelos: class Producto < ActiveRecord::Base belongs_to :categoria end class Categoria < ActiveRecord::Base has_many :productos end Queremos buscar el producto con ID 1, pero a la vez queremos obtener informacion de su categoria: @produto = Producto.find(1, :include => :categoria) Ahora puedes acceder a los datos de la categoria naturalmente asi: categoria_nombre = @producto.categoria.nombre Ahi automaticamente hace un join entre productos y categorias y de esta manera evitamos tirar 2 consultas contra la base de datos. Saludos. |
Re: Hacer un Join desde Ruby ok, Muchas gracias rdavila. Mira yo estoy tratando de hacer esta consulta> def selecEmployees Employee.find(:all, :include=>[:Activitiestimer, :Customerjob], :order => options[Activitiestimer.ACTROL, Customerjob.CUSJOBNAME]) end pero me da error |
Re: Hacer un Join desde Ruby Hola ruddyvar, cada vez que necesites ayuda sobre un error, pues mandanos el error que te da, de otro modo no hay forma de saberlo ;), ahora me parece que el error es debido a que estas usando mal el parametro :order, deberia ser algo asi: :order => 'campo1 DESC, campo2 ASC' Saludos. |
| La zona horaria es GMT -6. Ahora son las 03:39. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.