elixir - 如何编写与 Ecto 同时关联同一张表
问题描述
我有以下 2 张桌子。一个是 MEMBER 表。另一个是 ORDER 表。ORDER 表有 4 个引用,包括 updated_by 到 MEMBER.id。所有 id 都与 Member.id 关联。
------
MEMBER
------
id
name
------
ORDER
------
id
order_member_id
delivery_member_id
signed_member_id
update_by
我像下面这样写了 order.ex。但是它不起作用。
defmodule Sample.Store.Order do
use Ecto.Schema
import Ecto.Changeset
schema "orders" do
field :name :string
belongs_to :order_member, Sample.Store.Member
belongs_to :delivery_member, Sample.Store.Member
belongs_to :signed_member, Sample.Store.Member
belongs_to :update_by, Sample.Store.Member
end
使用ecto,是否无法与引用的表关联?如果是会员,应该是belongs_to :member, Sample.Store.Member
?
还是写SQL目录更简单?
我想知道是否可能。
谢谢!!
解决方案
尝试foreign_key
设置
belongs_to :order_member, Sample.Store.Member, foreign_key: :order_member_id
belongs_to :delivery_member, Sample.Store.Member, foreign_key: :delivery_member_id
推荐阅读
- linux - Linux组998,是什么意思?
- javascript - 无法读取未定义的属性“身份验证”
- google-chrome - 如何通过参数将自定义标头设置为 chrome 应用程序
- php - 如何优化查询以更快地运行(查询中的查询)
- excel - 如何使用linest函数计算多项式趋势线
- c - 链接错误未定义符号:__aeabi_uldivmod
- angular - 违反 UNIQUE KEY 约束实体框架
- python - 如何在python中解析/操作字符串值?
- firebase - Firestore,数组与文档列表
- android - 在 rxjava 中,在 android studio kotlin 代码中出现错误