AR: abstract model and eager loading

Have you considered using Single Table Inheritance (STI) to implement
this? With STI you can persist your objects in only one table, and
use the inheritance to keep your classes DRY.