我有两个模型:
class User < ActiveRecord::Base
has_one :user_profile
end
class UserProfile < ActiveRecord::Base
belongs_to :user
end
aUser
有一个UserProfile
, aUserProfile
属于 aUser
表结构:
用户
id:整数名称:字符串电子邮件:字符串
用户资料
id:整数 user_id:整数 bio:字符串 blog_url:字符串
使用 rails 控制台,我尝试通过加入两个表来获取用户的信息:
User.joins(:user_profile).includes(:user_profile).where(user_profiles: {user_id: 1})
控制台屏幕上的结果只显示了 User 表,而 UserProfile 表没有显示。
=> [#<User id: 1, name: "Alan", email:"alan@example.com">]
出现在控制台屏幕上的 SQL 语句(SELECT "users"."id" bla bla...)似乎是正确的,因为当我将其复制并粘贴到 SQLite 浏览器并执行命令时,它会显示我的结果预期的。
|id| name | email | id | user_id | bio | blog_url |
------------------------------------------------------------------------------
|1 | Alan | alan@example.com | 1 | 1 | lorem ipsum | alan.example.com |
所以我在这里发现了两个不同的结果。
什么可能导致这些表未加入我的控制台?