gpt4 book ai didi

ruby-on-rails - 在 Rails ActiveRecord 查询中有条件地链接 where 子句

转载 作者:数据小太阳 更新时间:2023-10-29 07:46:23 24 4
gpt4 key购买 nike

我有一个表单,当填写时必须触发特定查询,具体取决于表单具有的参数,所以我在我的模型中有一个方法,我认为应该如下所示:

def form_query(params)

query = ''
if params.has_key?('size')
query = query.where(size: params['size'])
end

if params.has_key?('title')
query = query.where(title: params['title'])
end

# More conditionals depending on params.
end

我的问题是,query 的开头必须是什么?我输入了 query = '',但我想知道什么是基本情况,所以我可以有条件地添加更多“where”子句。

最佳答案

查询不是字符串;他们是查询对象。所以你想要类似的东西

query = YourModel.scoped # Rails 3; in Rails 4, use .all
if params.has_key?('size')
query = query.where(size: params['size'])
end

等等

关于ruby-on-rails - 在 Rails ActiveRecord 查询中有条件地链接 where 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23398685/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com