我很困惑为以下关系船定义关联。
1.一个用户可以拥有多个公司。
2.一个公司会有很多团队成员用户
3.团队成员可以有不同的角色,如所有者、投资者、顾问。
请让我对此进行关联。目前我有用户和公司模型。
我很困惑为以下关系船定义关联。
1.一个用户可以拥有多个公司。
2.一个公司会有很多团队成员用户
3.团队成员可以有不同的角色,如所有者、投资者、顾问。
请让我对此进行关联。目前我有用户和公司模型。
如果你使用了:
class Company < ActiveRecord::Base
has_many :users
end
class User < ActiveRecord::Base
belongs_to :companies
has_many :roles
end
class Role < ActiveRecord::Base
belongs_to :user
end
如果你想声明 team_members 动态:在你的角色模型中声明你的“角色”静态(diffrent_role)
class User < ActiveRecord::Base
has_many :companies
has_many :roles
end
class Company < ActiveRecord::Base
belongs_to :user
has_many :team_members, :class_name => "User", :finder_sql => 'SELECT u.* FROM users u INNER JOIN roles r ON u.company_id = r.id WHERE r.diffrent_role = "member";'
end
class Role < ActiveRecord::Base
belongs_to :user
end