繁体   English   中英

Ruby on Rails - 通过扩展从数据库中检索元素数组

[英]Ruby on Rails - Retrieve array of elements from DB with expansion

我的数据库中有一个名为 routes 的表,其中每条路线都有起点和终点。 给定任何起点,我希望能够返回可以从该起点直接到达或从与该起点链接的任何目的地到达的目的地列表。 我如何在 Ruby 中执行此操作?

def find_available_routes(origin) 
  routes = Array.new
  #each row in routes has 'origin' and 'destination'
end

您的意思是基本上可以通过最多一次“停留”到达的任何目的地?

def find_available_routes(origin)
  order_0_routes = Routes.where(:origin => origin)
  destinations = order_0_routes.map(&:destination)
  order_1_routes = Routes.where(:origin => [origin, *destinations])
end

这不会很快,但根据您的应用程序的需要,它应该是可以接受的。 缓存将是一个简单的选择。

我的数据库中有一个名为 routes 的表,其中每条路线都有起点和终点。 给定任何起点,我希望能够返回可以从该起点直接到达或从与该起点链接的任何目的地到达的目的地列表。 我如何在 Ruby 中执行此操作?

def find_available_routes(origin)
  #each row in routes has 'origin' and 'destination'
  Routes.where(:origin => origin)
end

我建议,你应该 go 通过这个guides.rubyonrails - association_basics

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM