关联归属_to和定义架构时添加字段ID之间的区别?

问题描述 投票:0回答:1

宣告关系时有什么不同?

schema "messages" do
    field :user_id, :id
end

schema "messages" do
    belongs_to :user, User
end
phoenix-framework ecto
1个回答
0
投票

[当您执行field :user_id, :id时,您实际上并不是在声明关系。您只是添加类型为user_idid字段。

Belongs_to实际上添加关系,默认假设外键为user_id。 (可以通过选择foreign_key进行更改)。通过使用belongs_to,Ecto知道如何在执行诸如预加载,如何在附加了相关用户的情况下创建/更新,如何级联删除等操作相关记录。

© www.soinside.com 2019 - 2024. All rights reserved.