我有一个用户模型和一个聊天模型。直观上,多个人随时都可以属于同一个聊天组,每个人可以有多个聊天组。因此,聊天组必须属于多个user_id
。
我的聊天组和用户架构为:
schema "chatGroups" do
field :name, :string
has_many :messages, Message
belongs_to :user, User
timestamps
end
schema "users" do
field :name, :string
has_many :chatGroups, ChatGroup
timestamps
end
有什么建议如何处理吗?
最佳答案
这是一个古老的问题,以前接受的答案不再是事实。
Ecto现在支持HABTM或多对多关联。
https://hexdocs.pm/ecto/Ecto.Schema.html#many_to_many/3
many_to_many :users, MyApp.User, join_through: "chat_group_users"
关于elixir - Ecto中的多对多关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32900114/