当前位置:  开发笔记 > 数据库 > 正文

如何使用Rails"find"方法执行AND或OR查询?

如何解决《如何使用Rails"find"方法执行AND或OR查询?》经验,为你挑选了1个好方法。

我们假设我有一个名为"产品"的模型.我们假设产品有三个字段.这些字段是'name'(类型字符串),'cost'(类型整数)和'is_visible'(类型bool).

1)如何使用Rails"查找"方法进行搜索查询(如果有其他方法,那很好),以便我可以搜索成本大于100且is_visible为真的所有产品?

2)如果我们想要改变它以搜索名称!=''OR cost == 0怎么办?

这不是一个SQL问题,但我想Rails有一种方法可以在不使用SQL的情况下对数据库进行AND/OR查询.

谢谢!



1> scottd..:

您需要在find方法上使用conditions选项.conditions选项可以是Hash,Array或String.条件有很多选项,所以我建议您阅读API帮助.例如,如果你想(1):

Product.find(:all, :conditions => ['cost > ? and is_visible is true', 100])

或(2)

Product.find(:all, :conditions => ["name != '' or cost =0])


实际上你包含的所有内容:条件将直接嵌入到ActiveRecord生成的SELECT语句中 - 所以这肯定与SQL有关.
推荐阅读
女女的家_747
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有