I have following 2 tables. One is MEMBER table. The other is ORDER table. ORDER table has 4 reference include updated_by to MEMBER.id. All ids associate with Member.id.
------
MEMBER
------
id
name
------
ORDER
------
id
order_member_id
delivery_member_id
signed_member_id
update_by
I wrote order.ex like following. However it does not work.
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
With ecto, is it impossible to associate with referenced table?
In case of Member, it should be belongs_to :member, Sample.Store.Member
?
Or is it simpler to write SQL directory?
I would like to know if it possible or not.
Thanks!!
Try set foreign_key
like
belongs_to :order_member, Sample.Store.Member, foreign_key: :order_member_id
belongs_to :delivery_member, Sample.Store.Member, foreign_key: :delivery_member_id