如何根据Rails中的主键和另一列检索对象?

时间:2014-06-17 20:31:49

标签: ruby-on-rails

我知道如何通过id检索对象:

MyObject.find(1)

我知道如何通过任意列检索对象:

MyObject.where(something: true)

我可以将这两个条件结合起来(假设我没有更改默认id中主键的名称):

MyObject.where(id: 1, something: true)

是否有一种更优雅或惯用的方式来组合这两个条件(即使主键具有不同的名称也会有效)?

1 个答案:

答案 0 :(得分:2)

您可以在.find之后链接.where

MyObject.where(something: true).find(id) # Add .joins etc. before the .find

请注意,此不会触发第二个SQL请求。这只会在查询的AND中添加WHERE