The thing that gets me is this: in any non-trivial project, a model doesn't just interact with MySQL. Models end up in caching layers, in sessions, and interacting with users through forms, query parameters, and of course APIs.

Given all that, any sort of model that is designed around tables and rows just seems ultimately to be missing the point :)

Best regards,