1 - Полезно ли это будет хоть кому-то кроме меня?
нет, но для тебя это может стать вполне приемлемым инструментом, если отточишь до блеска.
2 - В каком направлении двигаться и в чем косяки такого способа работы с базой?
твой косяк в том, что ты пишешь сам не понимая чего и называешь это все очень громкими именами, такими как ORM
при этом ты все смешал в кучу и я не вижу тут никакой ORM
я вижу попытку написать 1001 никому не нужный билдер запросов
ORM должна работать на основе паттернов, таких как ActiveRecord или DataMapper, получать объекты моделей, а не просто stdClass и транслировать эти объекты обратно в базу:
вот эти все дрочи
Model::data(array("status"=>2))->where(array("id"=>2))->update();
они никому не нужны. потому что реальные запросы гораздо более сложны, чем выборка по одному условию where. есть запросы, которые просто невозможно уложить в билдеры. ты же делаешь акцент на билдеры, а должен делать на ORM. Вот тебе
пример data mapper класса. для его работоспособности используется простой билдер, но сложный sql пишется руками. и практически всегда возвращаются не просто объекты, а объекты моделей, ассоциируемые с этим data mapper. Обрати внимание, что почти в каждом методе вызываются
return parent::result2objects(...);
return parent::findModelListByParams($params);
return parent::findModelByParams($params);
т.е. ORM всегда отдает реальные доменные объекты, а не просто stdClass.