我试过
members = Member.select(:member_id[6] == "1")
和
members = Member.select(member_id[6]: == "1")
和
members = Member.select("member_id[6]" == "1")
我试图只获得其member_id最终字符为1的成员。
答案 0 :(得分:1)
为了有效地获得你想要的东西,你需要利用Postgres'字符串函数在文字SQL条件下。您现有的代码也混淆了select
,这是一种Active Record方法,它改变了查询在其SELECT
子句中使用的内容,使用select
,Ruby Enumerable方法,它允许您过滤集合。由于您的过滤最好在数据库中执行,因此您希望改为使用where
。
所以,比如:
Member.where("RIGHT(member_id::varchar, 1) = '1'")