I did something similar sometime ago.
I used a virtual field for the count then make a querry like:
....,
select_merge: %{factions_count: count(factions.id)
....
So your query could look like:
query =
from instance in Instance,
left_join: factions in assoc(instance, :factions),
left_join: profils in assoc(factions, :profils),
preload: [factions: {factions, profils: profils}],
order_by: [desc: instance.id],
select_merge: %{registered_profils: count(profils.id)
But to be honest I don’t know if this is the best way but it works. ^^






















