好的抱歉,如果这个问题令人困惑,我会在这里清除它。例如,您有一个Train
对象,其中包含stations
列。因此,此stations
列包含火车前往的所有火车站的数组。例如,我们有一组名为north_stations
的站点。我们怎样才能找到前往任何trains
的所有north_stations
?
在常规红宝石中,我们可以这样做:
array_one = [1,2,3,4]
array_two = [2,3,4,5]
(array_one & array_two).any?
如果2个数组至少有1个公共元素,则返回true。那么我如何传递一个数据库查询,返回所有在Train.stations
和north_stations
之间共享元素的列车?
顺便说一下,我确实遇到了this post,但它正在使用ID进行处理,我试图干涉我的rails控制台中的方法,但无法提出任何建议。
更新1:
好吧我正在使用Postgres,表列类型是string
。在模型中,我使用serialize
来允许它保存一组值。 2个数组的一个例子可能是,
Train.station = [
"station 1",
"station 2",
"station 3"
]
north_station = [
"station 2",
"station 4",
"station 6"
]
因为Train.station
确实至少有一个north_station,我想返回这个特定的Train
对象。因此,当我Train.where(??unknown method??)
时,它将返回至少1 north_station
的所有列车。