【发布时间】:2017-12-21 18:44:46
【问题描述】:
我正在尝试根据用户输入创建动态查询
if a
conditions << ["fname like (?)"]
sql_params << "abc"
end
if b
conditions << ["lname like (?)"]
sql_params << "def"
end
if c
cconditions << ["middle like (?)"]
sql_params << "xyz"
end
results = Model.where(conditions.join(' AND '), sql_params)
虽然条件语法正确,但 sql_params 被列为数组。这形成了以下查询
Model.where("fname like (?) AND lname like (?) AND middle like (?)", ["abc","def","xyz"])
而我需要的是
Model.where("fname like (?) AND lname like (?) AND middle like (?)", "abc","def","xyz")
我在 sql_params 数组上尝试了几个 map/join 等选项,但没有任何效果。
【问题讨论】:
标签: sql ruby-on-rails arrays ruby