Vapor-dokumenterne til Flydende relationer er sandsynligvis det, du leder efter.
Så vidt jeg kan se, bruger du en Mange til Mange (søskende) relation, så denne kode kan være, hvad du ønsker:
extension Persion {
var roles: Siblings<Persion, Role, Pivot<Person, Role>> {
return siblings()
}
}
Så få rollerne:
let roles = person.roles.all()
Jeg har måske taget fejl, da jeg ikke kan se din kode, men den burde give dig nogle tips.