Concatenar 2 resultados

Hola,

Después de mucho pensar decidí evitar el find_by_sql y optar por 2 finds
y posteriormente concatenar los resultados :

inv_historicos = InvHistorico.find(:all, :conditions => [“fecha_alta =
?”, “2007-11-20”])

productos = Producto.find(:all, :include => [“depto”], :order =>
“depto_id, productos.nombre”)

La pregunta aqui es cómo concatenar los 2 resultados considerando que la
colección productos puede ser mayor a inv_historicos y además mantener
el orden establecido en Producto.find.

productos(id, nombre, etc), inv_historicos(id, producto_id, inventario,
etc.)

Gracias.

Saludos y muchos exitos en la conferencia !!!

Jaime Mora R.

Jaime Mora R. wrote:

La pregunta aqui es cómo concatenar los 2 resultados considerando que la
colección productos puede ser mayor a inv_historicos y además mantener
el orden establecido en Producto.find.

Solucionado. Simplemente complementé el LEFT OUTER JOIN iniciado por
:include, mediante un fragmento SQL en la clausula :joins :

productos = Producto.find(:all, :include => [“depto”, “inv_historico”],
:order => “depto_id, productos.nombre”, :joins => " AND fecha_alta =
‘2007-11-19’")

Definitivamente más DRY, por supuesto más óptimo.

Espero que a alguien más le sirva.
Gracias … saludos

Jaime Mora R.