我想使用 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 问题:数组文字格式错误,数组值必须以“”或维度信息开头