【发布时间】:2013-11-23 19:44:47
【问题描述】:
我有以下问题
model = (1,2,3,4)
@posts = Post.where(category_id: id, product_model_id: model)
我上面的查询只是从模型中获取1 我如何在这里使用where in 条件
Edit-1
这段代码有效,但我不觉得这是一个好的代码,对吧?
@posts = Post.where("category_id = ? and product_model_id in (#{model})", id)
Edit-2
如果我使用
@posts = Post.where("category_id = ? and product_model_id in (?)", id, model)
抛出错误为
invalid input syntax for integer: "15,16" 因为我的输入是这样的
select * from posts where category_id=5 and product_model_id in ('15,16')
那么如何纠正它..
【问题讨论】:
-
代码会被注入,你不能有:ruby中的model = (1,2,3,4) 你指的是数组吗???
-
@bjhaid 请看看我的编辑
标签: ruby-on-rails activerecord ruby-on-rails-4