更好地选择使用替代主键匹配的单个记录的id?

时间:2015-06-16 05:30:36

标签: ruby ruby-on-rails activerecord

假设我有一个带有普通整数主键(id)的模型Foo和一个" alternate"主键" bar"这是一个字符串。

为了使问题复杂化,Foo支持软删除,因此它具有布尔属性" is_deleted"。 "杆"仅在is_deleted = false的记录集上是唯一的。

我想找到单个未删除行的整数id,其中bar =" baz",如果没有这样的行,则为nil。以下是我提出的建议:

Foo.where(bar: 'baz', is_deleted: false).limit(1).pluck(:id).first

这似乎很啰嗦。有没有更好的办法?不能修改底层数据库。我可以自由更改模型类,只要它不会干扰使用此模型的其他代码。

0 个答案:

没有答案
相关问题