【发布时间】:2025-12-11 05:55:02
【问题描述】:
我正在尝试关联两个模型(用户和国家/地区),其中:
· 一个国家有_many用户。
· 一个用户属于一个国家。
另外,我使用 UUID 作为两个模型的主键,所以我没有 :id 类型来关联它们,只有字符串可以做到这一点。 这些国家是静态的,但我会创造很多用户。
我应该如何关联这两个模型以及我应该在模式中的两个函数中写入哪些参数(has_many 和 belongs_to)?我应该调用哪个函数来关联它们:cast_assoc、build_assoc 还是 put_assoc?
谢谢!!
@primary_key {:uuid, :string, []}
@derive {Phoenix.Param, key: :uuid}
schema "countries" do
field :country_name, :string
has_many :users, UserManagement.User, foreign_key: :country_id
end
@primary_key {:uuid, :string, []}
@derive {Phoenix.Param, key: :uuid}
schema "users" do
field :nickname, :string
field :password, :string, virtual: true
belongs_to :country, UserManagement.Country, references: :uuid
timestamps()
end
【问题讨论】:
标签: elixir phoenix-framework uuid has-many belongs-to