首页 > 解决方案 > 我需要从查询结果中获取用户 ID

问题描述

我正在使用用户名从我的用户表中查询,我如何从查询对象 User.where(user_name: "john") 中获取用户 ID

我的目标是获取用户 ID:5,我认为它就像 (.id) 一样简单,但那不起作用

=> #<ActiveRecord::Relation [#<User id: 5, user_name: "john", user_city: "India", created_at: "2019-01-19 18:02:32", updated_at: "2019-01-19 18:02:32">]> 

标签: rubydatabaseruby-on-rails-3relational-database

解决方案


物化where将返回一个集合,因此您可以获得第一条记录.first

User.where(:user_name => "john").first&.id

或者使用find_bywhich 将返回满足条件的第一条记录。

User.find_by(:user_name => "john")&.id

推荐阅读