Хотелось бы видеть функционал создания sql запросов в виде конструктора в fluent стиле.
Примеры:
Дано:
- Сущность
Автор с полями: Код, Имя, Почта, Роль. Таблица бд называется Авторы.
- Сущность
Роль с полями: Код, Имя. Таблица бд называется Роли.
Конструктор = МенеджерСущностей.КонструкторЗапросов();
Выборка = Конструктор.Из("Автор") .Где("Код", 1).Выполнить();
Для Каждого ЭлементВыборки Из Выборка Цикл
Сообщить(ЭлементВыборки.Имя);
КонецЦикла;
Возможности:
Из(ИмяСущности) - метод FROM
Где(ИмяПоля, Значение), Где(Соответствие), Где(Массив) - метод WHERE
Выбрать(), Выбрать("ИмяСущности.Поле1, ИмяСущности.Поле2, ИмяСущности.Поле3"), Выбрать(Массив) - указание выбора определенных полей из запроса
Ограничить(НомерЗаписи, КоличествоЗаписей) - метод LIMIT
ЛевоеСоединение(Условие), ПравоеСоединение(Условие), ВнутренееСоединение(Условие), ВнешнееСоединение(Условие) - методы LEFT JOIN, RIGHT JOIN, INNER JOIN, OUTER JOIN
Упорядочить(Поле, ПорядокСортировки), Упорядочик(Массив) - метод ORDER BY
Выполнить() - выполнить запрос
Еще пример (дано такое же):
Выборка = Конструктор
.Из("Автор")
.Выбрать("Автор.Имя, Автор.Почта")
.ЛевоеСоединение("Роль", "Автор.Роль=Роль.Код")
.Выбрать("Роль.Имя")
.Упорядочить("Автор.Имя", ПорядокСортировки.Убывание);
.Выполнить();
Как пример всего этого в других языках: fluentPDO
Хотелось бы видеть функционал создания sql запросов в виде конструктора в fluent стиле.
Примеры:
Дано:
Авторс полями: Код, Имя, Почта, Роль. Таблица бд называется Авторы.Рольс полями: Код, Имя. Таблица бд называется Роли.Возможности:
Из(ИмяСущности)- метод FROMГде(ИмяПоля, Значение),Где(Соответствие),Где(Массив)- метод WHEREВыбрать(),Выбрать("ИмяСущности.Поле1, ИмяСущности.Поле2, ИмяСущности.Поле3"),Выбрать(Массив)- указание выбора определенных полей из запросаОграничить(НомерЗаписи, КоличествоЗаписей)- метод LIMITЛевоеСоединение(Условие),ПравоеСоединение(Условие),ВнутренееСоединение(Условие),ВнешнееСоединение(Условие)- методы LEFT JOIN, RIGHT JOIN, INNER JOIN, OUTER JOINУпорядочить(Поле, ПорядокСортировки),Упорядочик(Массив)- метод ORDER BYВыполнить()- выполнить запросЕще пример (дано такое же):
Как пример всего этого в других языках: fluentPDO