Как написать ассоциировать одну и ту же таблицу одновременно с Ecto - PullRequest
0 голосов
/ 06 апреля 2020

У меня есть следующие 2 таблицы. Одним из них является стол-член. Другой стол ЗАКАЗАТЬ. В таблице ORDER есть 4 ссылки с updated_by на MEMBER.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, нельзя ли ассоциировать с ссылочной таблицей? В случае Member это должно быть belongs_to :member, Sample.Store.Member?

Или проще написать SQL directory?

Я хотел бы знать, возможно ли это или нет.

Спасибо !!

1 Ответ

1 голос
/ 08 апреля 2020

Попробуйте установить 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
...