查询ActiveRecord以查找与partial属性匹配的第一个对象

Nei*_*eil 3 ruby activerecord ruby-on-rails rails-activerecord

我有一个user具有name属性的模型的脚手架.索引看起来像这样: 在此输入图像描述

我想做一个只查找名字以两个字母"Mr"开头的第一条记录的查询.所以对于上面它将返回名为"Mr Bar"的记录.

我知道它可能看起来很接近这个:

User.find_by(name: name[0].concat(name[1]) == "Mr") # doesn't work
Run Code Online (Sandbox Code Playgroud)

Ram*_*K R 5

您可以使用where方法获取名称以"Mr"开头的用户,并首先获取查询的第一个结果

User.where("name like ?", "Mr%").first
Run Code Online (Sandbox Code Playgroud)