Если у меня есть T-SQL (или сохраненный процесс), который возвращает записи из нескольких таблиц (возможно, с использованием DBI), есть ли способ вручную создать экземпляры моделей ActiveRecord и их связей? Очевидно, я здесь за производительностью базы данных. Я хотел бы иметь возможность строить свою собственную иерархию объектов (модели и их отношения), но когда я все это сделаю, я ожидаю, что каждая модель будет вести себя нормально. То есть я надеюсь, что это будет выполнено без какого-либо взлома, который может вызвать странное поведение моей структуры.
EDIT:
Это немного надумано, но оно иллюстрирует, как один запрос может вернуть данные на глубину n уровней (где "n" имеет только практические ограничения) и вернуть все за один вызов в базу данных:
SELECT * FROM customers
WHERE id = 1;
SELECT * FROM orders
WHERE customer_id = 1;
SELECT * FROM lineitems
WHERE order_id IN (
SELECT id FROM orders
WHERE customer_id = 1
);
И затем, имея все записи, я просто сам сопоставлял бы ассоциации. Проблема с этим через ActiveRecord и: include заключается в том, что он будет попадать в базу данных не один раз, а несколько раз, что увеличивает нагрузку при увеличении n.