[英]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.