ActiveRecord与ID数组连接

时间:2014-04-16 17:41:51

标签: ruby-on-rails

以下命令可用于拉出具有特定功能的所有样式:

Style.joins(:style_features).where('style_features.feature_id= ?', 1)

是否有可能做同样的事情,但是对于一系列功能?如:

Style.joins(:style_features).where('style_features.feature_id= ?', [1, 2, 3])

2 个答案:

答案 0 :(得分:7)

您可以这样做:

Style.joins(:style_features).where(style_features: { feature_id: [1, 2, 3] })

此查询将让Rails根据您定义的DataBase Adapter处理SQL查询。

答案 1 :(得分:1)

您可以尝试使用Style.joins(:style_features).where('style_features.feature_id in (?)', [1, 2, 3])

MrYoshiji如果看看rails方式,那么答案比我更好