Почему модели не увязывать примерно так?
//Model1, Model2, Model3
var scope = Model1.selectingScope(conditionFunc1).attachRelated(Model2, conditionFunc2).attachRelated(Model3, conditionFunc3)
scope.first().gets('model2') //связанные записи
scope.first().gets('model3') //связанные записи