Ich habe derzeit ein "Rank" -Modell, das das Feld (ganze Zahl) "Rang" enthält, die eine ganze Zahl ist. Das "Ship" -Modell weist dagegen ein "usable_by" -Feld (Integer) auf. Was ich erreichen möchte, ist, dass wenn ich einen Rang zurückgebe, sie auch eine Liste aller Schiffsmodelle enthalten, in denen das Feld "usable_by" mit dem Feld "rank" im Rank-Modell übereinstimmt. Ich weiß, dass dies durch eine Abfrage machbar ist, und beziehe die Daten manuell ein, denke ich, aber ist irgendetwas in Ecto/Phoenix eingebaut, das ich verwenden kann, um dies einfacher zu machen?Ecto eins zu viele Assoziation auf benutzerdefinierte Felder
Ich denke, die ideale Situation, die ich hoffe, ist mit has_many (ich interessiere mich nicht wirklich für die umgekehrte Assoziation) mit etwas wie: Referenzen oder Foregin_key, aber ich kann nicht scheinen es zu arbeiten. Das ist die Linie i bin derzeit mit:
Rang Modell
schema "ranks" do
field :name, :string
field :rank, :integer
timestamps
has_many :ships, Playground.Ship #Can I use :foregin_key and :references here?
end