繁体   English   中英

查询以从 rails 上的关联 model 获取所有数据

[英]Query to get all data from associated model on rails

我有一个User model 和StudentProfile model 关联是

class User < ApplicationRecord
  has_one :student_profile 
end

class StudentProfile < ApplicationRecord
  belongs_to :user 
end

我想呈现两个表的所有字段。 SQL 动作命令是

select * from users join student_profiles on student_profiles.user_id = users.id

User.joins(:student_profile)

仅显示User表的字段。 我需要 json 格式的两个表中的所有信息,因为我将使用此 url 进行 ajax 调用。

有没有办法在活动记录查询中实现这个sql?

select * from users join student_profiles on student_profiles.user_id = users.id

您可以使用select到 select 所需的字段:

User.joins(:student_profile).select('users.*, student_profiles.*')

*用于选择所有字段

或者student_profiles表中选择特定字段:

User
  .joins(:student_profile)
  .select('users.*, student_profiles.first_name, student_profiles.last_name')

但我建议阅读有关活动 model 序列化程序的信息,因为您正在处理 JSON。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM