Hi @warronbebster and welcome to the forum.
I don’t think this can be done with has_many.
Update: It’s possible, see this answer of al2o3cr.
An alternative approach, don’t know if this would work for you: define functions in your context module for all the different types of buildables:
def single_family_homes(%Detail{id: id}} do
Repo.all(from b in Buildable, where: b.detail_id == ^id and b.type == "single_family_home")
end
# ... etc for all types of houses
So now you can call MayorGame.City.single_family_homes(detail).
(PS: just assuming here that your context module is called City and there is a type attribute for Buildable)


















