根据关联表查找记录



我有3个模型,(用户,工作和评论)。评论有一个job_id字段和作业user_id

字段。
In my models...
Users:   has_many :jobs
Jobs:    belongs_to :user
has_many :reviews
Reviews: belongs_to :job

如何编写查询来收集特定user.id的所有评论?

这是我找到的解决方案

Review.joins(job: :user).where(users: {id: 1})

上面语句对应的查询是

SELECT "reviews".* FROM "reviews" INNER JOIN "jobs" ON "jobs"."id" = "reviews"."job_id" INNER JOIN "users" ON "users"."id" = "jobs"."user_id" WHERE "users"."id" = ?  [["id", 1]]

最新更新