在User类中,我有:
has_many :posts, foreign_key: "by_user_id"
这将生成以下sql(当我调用user.posts
时)
SELECT "posts".* FROM "posts"
WHERE "posts"."by_user_id" = 2
如何定义生成以下sql的关联?
SELECT "posts".* FROM "posts"
WHERE "posts"."by_user_id" = 2 or "posts"."group_user_id" = 2
帖子表包含两列(by_user_id
和group_user_id
),group_user_id
也是用户的ID。
答案 0 :(得分:1)
Post.where(by_user_id: 2, group_user_id: 2)
这是你在找什么?
答案 1 :(得分:0)
解决方案是在User模型中使用类方法:
def posts
Post.where('by_user_id = ? or group_user_id = ?', id, id)
end