Комментарии 9
В чём плюсы то перед написанием запроса на SQL?
Поддерживаются 2 БД.
Поддерживаются только запросы, которые и так одинаково выглядят для обеих БД.
Ладно бы там автоматом отлавливались какие-то ньюансы каждой БД, а в построителе код был бы одинаковым.
У меня один вопрос: зачем? (зачем забивать голову знанием о синтаксисе вашего построителя?)
Возможность КЭШировать выбираемые данные по первичному ключу. Собственно это та самая фишка которая на мой взгляд наиболее полезна. При этом можно писать один код, который будет работать и без КЭШирования. А при его включении сразу сократится количество запросов в БД.
Синтаксис построителя состоит из десятка команд и не представляет трудности для изучения
Для команд DELETE SQL различается. Да, отличия небольшие, но они всё-таки есть
Забавно, что автор сам не понял ответа на этот очевидный вопрос. А нужно затем, что "ORM шагает по планете". И пострители запросов нужны в первую очередь для этих мапперов, чтобы можно было получать объекты сразу из сложных запросов.
А сам по себе, отдельный постритель запросов, действительно смысла имеет очень мало. Ну разве что построение динамических запросов будет вглядеть чуть благообразнее, чем ковыряние в кишках строках.
Как раз изначально построитель запросов начал писаться чтобы вместо объектов получать именно отдельные поля таблицы с правильно конвертированными значениями PHP<=>SQL. Идея КЭШирования появилась потом. Но, на мой взгляд, эта весьма полезная фича.
В век когда ORM шагает по планете
К сожалению , да это так :-(
А потом начинается классика - "а почему стало медленно работать и как сделать быстрее ?"
При том, что разработчиков и архитекторов принявших решение "использовать ORM" уже и след простыл.
Зато модно , весело , в тренде :-(
Хотя , сейчас ресурсы недорогие, а бюджеты никто не считает - подкинут RAM/CPU, сменят диски на High IOPS - проблема решена и на следующий проект.
Построитель SQL запросов на основе мета-информации миграций БД