2016-11-08 61 views
0

我有实体:进程和用户。他们有多对多的关系。但是用户可以分配到不同的角色:admin和owner(或者两者),并且我在链接表中使用布尔列。Has_and_belongs_to_many附加条件

这里是我的结构:

PROCESSES 
    id 
    name 

USERS 
    id 
    email 

PROCESSES_USERS 
    id 
    process_id: FK 
    user_id: FK 
    admin: Boolean 
    owner: Boolean 

有没有什么办法,使在布尔标志使用情况这些模型两种不同has_and_belongs_to_many关联? 我想用这样的:

process = Process.find(1) 
process.owners.size 
process.admins.size 

# Maybe even joins 
Process.joins(:owners).includes(:owners) 

有没有办法做到这一点?

回答