如何用 Ecto 同时写 associate same table
How to write associate same table at the same time with Ecto
我有以下 2 table。一位是成员 table。另一个是 ORDER table。
ORDER table 有 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,是否无法与引用的 table 关联?
如果是会员,则应为 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
我有以下 2 table。一位是成员 table。另一个是 ORDER table。 ORDER table 有 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,是否无法与引用的 table 关联?
如果是会员,则应为 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