Queremos darte la mejor solución que hallamos en todo internet. Nosotros esperamos que te sea de mucha ayuda y si puedes aportar algo que nos pueda ayudar a mejorar hazlo con total libertad.
Solución:
Hmm, parece que estás tratando de incluir current_orders
e incluir order
. ¿Son estas las mismas tablas con diferentes condiciones? Esto podría confundir el registro activo. Además, estoy bastante seguro de que es prudente incluir el references
cuando se hace referencia a una tabla unida. Tal vez, intente algo como esto:
active_couriers = Courier.includes(:orders)
.available_courier_status
.where(:service_region_id => @service_region.id)
.where("orders.created_at >= ?", Time.zone.now.beginning_of_day)
.references(:orders)
También puedes usar eager_load
para proporcionar exactamente el mismo comportamiento que includes
+ references
lo hace. Realiza el mismo Left Outer Join en la tabla pasada como argumento, pero de una manera mucho más limpia.
Documentos aquí: http://apidock.com/rails/v4.2.7/ActiveRecord/QueryMethods/eager_load
Según este ejemplo:
active_couriers = Courier.eager_load(:orders)
.available_courier_status
.where(:service_region_id => @service_region.id)
.where("orders.created_at >= ?", Time.zone.now.beginning_of_day)