в большом проекте начнется полная каша, когда, например, столбец удаляют/переименовывают - придется по всему коду лазать и менять. И не факт, что где-то не забудешь.
потому что запросы сложные (используют конструкции типа with из PostgreSQL и т.п., которые средствами ORM сложно делать), пришлось их руками писать.
было бы посмотреть на тесты классов
DB::init(NULL, $CONFIG['DB_CONNECTIONS']['DATA'], AppLogger::scope('mysql'));
DB::init('sphinx', .... , AppLogger::scope('sphinx'));
DB::C('sphinx')->{any PDO method}
$db = DB::C(NULL);
AppLogger::addScope('main', []);
AppLogger::addScope('sphinx', [
['sphinx.debug.log', Logger::DEBUG],
['sphinx.warning.log', Logger::WARNING],
['sphinx.error.log', Logger::ERROR]
], getenv('LOGGING.SPHINX_ACTIONS') );
AppLogger::scope('main')->debug(msg, [ args ]);
$logger = AppLogger::scope('later.initialized.logger')->emergency('Шеф, все пропало!');