В настоящее время у меня есть модель «Ранг», которая содержит поле (целое число) «ранг», которое является целым числом. С другой стороны, модель «Корабль» имеет поле «usable_by» (целое число). Чего я хочу добиться, так это того, что когда я возвращаю ранг, они также содержат список всех моделей кораблей, где поле «usable_by» соответствует полю «ранг» в модели ранга. Я знаю, что это выполнимо с помощью запроса и заполнения данных вручную, я думаю, но есть ли что-нибудь встроенное в Ecto/Phoenix, которое я могу использовать, чтобы упростить это?
Я предполагаю, что идеальная ситуация, на которую я надеюсь, - это использование has_many (меня не волнует обратная ассоциация) с чем-то вроде :references или foregin_key, но я не могу заставить его работать. Это строка, которую я сейчас использую:
Ранговая модель
schema "ranks" do
field :name, :string
field :rank, :integer
timestamps
has_many :ships, Playground.Ship #Can I use :foregin_key and :references here?
end