Complete HasManyThrough relationship implementation