[eluser]Phil Sturgeon[/eluser]
Not sure about that mddd. The point of AR is to make simple calls quickly. Tricky ones with sub-queries and advanced conditional sections are still out of the range of AR calls.
The way it's intended to be used is:
Simple select, insert, update, delete, join, etc = AR
Sub-queries, replace, on duplicate update, stored procedures, etc = Plain SQL (or a mix)
Either way, your re-useable structure is in place by using a model. It doesn't matter
what the model is doing or how, it is still re-useable.