现在有三张表如下:
class App < AR::Base
has_many :users
end
class User < AR::Base
belongs_to :app
has_one :user_info
# columns: app_id, ... others
end
class UserInfo < AR::Base
belongs_to :user
# columns: user_id, reviewer_id, ... others
end
user_infos 表里面有个字段为 reviewer_id 指向 users 里面的一条记录。
很普通的需求吧!但是由于扩展表显得很复杂。
目前我的方法 (app 为某个特定 app)
User.where(id: UserInfo.where(user_id: app.users.map(&:id)).map(&:reviewer_id))
我自己看着都别扭, 所以请教更清晰的办法~~~