我想使用 Rails 控制台获取姓氏以“x”开头的用户数组

Posted

技术标签:

【中文标题】我想使用 Rails 控制台获取姓氏以“x”开头的用户数组【英文标题】:I want to get an array of users whose last name begins with 'x' using the Rails console 【发布时间】:2017-01-06 18:56:00 【问题描述】:

我试过这样的事情:

users=User.where :conditions => "last_name LIKE ?" "%X"
and
users=User.where("last_name.each_char.first = 'X'")
and
users=User.where(:last_name.to_s.char.first => "X")
and
users=User.where "last_name.initial" == "X"
users=User.where("last_name".start_with ? "X")
users=User.where("last_name".match(/^X/))
users=User.where(:last_name[0] == "X")

还有一大堆失败的尝试。 user.last_name 是一个有效的字符串,我想我明白为什么 :last_name 是一个符号,不起作用,所以我也做了 "last_name"[0] 和 :last_name.to_a[0]

一些尝试,比如这个

[64] pry(main)> user=User.where("last_name[0] = 'X'").all
 User Load (0.9ms)  SELECT "users".* FROM "users" WHERE (last_name[0]     = 'X')
=> #<User::ActiveRecord_Relation:0x3723938>

返回一个活动记录关系 任何帮助都非常感谢!

【问题讨论】:

【参考方案1】:

你很接近!试试:User.where('last_name like ?', 'x%')

【讨论】:

更多上下文,where 子句是在数据库上运行的,而不是在 ruby​​/rails 中,所以你必须使用适当的,可能是 sql,语法。 男孩,我围着那个跳舞!非常感谢达林。

以上是关于我想使用 Rails 控制台获取姓氏以“x”开头的用户数组的主要内容,如果未能解决你的问题,请参考以下文章

如何打开rails控制台以访问rails 6中的多个数据库?

fetchAll 在 Javascript 中导致“无法读取属性”错误

Rails 从父数据中获取数据并在嵌套视图中显示为页面标题(标题)

Rails Postgre 问题:数组文字格式错误,数组值必须以“”或维度信息开头

找不到资源:Paypal 验证(电子邮件、名字、姓氏)rails

如何在 Rails 控制台中获取执行时间?