这是我的方法
def phone_number_last_4
phone_number = self.work_phone
phone_number[phone_number.length - 4 ,4]
end
我的字段名称为 work_phone
例如:我的work_phone是:1234567890 - 所以我的phone_number_last_4是7890
我希望客户使用phone_number_last_4数字,但不是字段,所以如何搜索有phone_number包括7890。
我的表名是:客户
so - Customer.where(“work_phone =?”,1234567890) - 这个有效但
Customer.where(“phone_number_last_4 =?”,1234567890)无效
请帮帮我
答案 0 :(得分:4)
Customer.where("work_phone ~ '7890$'")
这假设你正在使用Postgresql。
答案 1 :(得分:1)
与问题分开,你可以phone_number[-4, -1]
来获取ruby中字符串的最后四个字符。
假设您正在使用mysql,您可以根据work_phone
字段的最后四位数执行类似的子字符串查询:
Customer.where("SUBSTRING(work_phone, -4) = ?", '7890')