我有一个字符串数组,可用作模型中where
调用的参数。
如何在模型where
调用中附加每个字符串,并为其他limit
调用返回有效记录关系
我尝试了以下内容,但它只将第一项添加到where子句
array = ['active = true', 'expired = false', 'created_at > 2017-04-18 10:36:28']
array.reduce { | item | Post.where(item) }
返回
Posts.where('active = true')
而我正在乞求
Posts.where('active = true').where('expired = false').where('created_at > 2017-04-18 10:36:28')
感谢。
答案 0 :(得分:3)
将join
个数组元素放入一个字符串中:
array.join(' AND ')
#=> "active = true AND expired = false AND created_at > 2017-04-18 10:36:28"
并使用它:
Post.where(array.join(' AND '))
P.S。
created_at > 2017-04-18 10:36:28
可能会给您一个语法错误,但这不是问题的范围。