我知道如何通过id检索对象:
MyObject.find(1)
我知道如何通过任意列检索对象:
MyObject.where(something: true)
我可以将这两个条件结合起来(假设我没有更改默认id
中主键的名称):
MyObject.where(id: 1, something: true)
是否有一种更优雅或惯用的方式来组合这两个条件(即使主键具有不同的名称也会有效)?
答案 0 :(得分:2)
您可以在.find
之后链接.where
:
MyObject.where(something: true).find(id) # Add .joins etc. before the .find
请注意,此不会触发第二个SQL请求。这只会在查询的AND
中添加WHERE
。