Foros del Web » Programando para Internet » Ruby »

Hacer un Join desde Ruby

Estas en el tema de Hacer un Join desde Ruby en el foro de Ruby en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 10/04/2008, 15:17
 
Fecha de Ingreso: abril-2008
Mensajes: 5
Antigüedad: 16 años
Puntos: 0
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
  #2 (permalink)  
Antiguo 10/04/2008, 16:54
 
Fecha de Ingreso: abril-2008
Mensajes: 21
Antigüedad: 16 años
Puntos: 0
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.
  #3 (permalink)  
Antiguo 11/04/2008, 13:05
 
Fecha de Ingreso: abril-2008
Mensajes: 5
Antigüedad: 16 años
Puntos: 0
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
  #4 (permalink)  
Antiguo 11/04/2008, 20:14
 
Fecha de Ingreso: abril-2008
Mensajes: 21
Antigüedad: 16 años
Puntos: 0
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.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:36.