-
-
Notifications
You must be signed in to change notification settings - Fork 11
Open
Description
Хотелось бы видеть функционал создания sql запросов в виде конструктора в fluent стиле.
Примеры:
Дано:
- Сущность
Авторс полями: Код, Имя, Почта, Роль. Таблица бд называется Авторы. - Сущность
Рольс полями: Код, Имя. Таблица бд называется Роли.
Конструктор = МенеджерСущностей.КонструкторЗапросов();
Выборка = Конструктор.Из("Автор") .Где("Код", 1).Выполнить();
Для Каждого ЭлементВыборки Из Выборка Цикл
Сообщить(ЭлементВыборки.Имя);
КонецЦикла;Возможности:
Из(ИмяСущности)- метод FROMГде(ИмяПоля, Значение),Где(Соответствие),Где(Массив)- метод WHEREВыбрать(),Выбрать("ИмяСущности.Поле1, ИмяСущности.Поле2, ИмяСущности.Поле3"),Выбрать(Массив)- указание выбора определенных полей из запросаОграничить(НомерЗаписи, КоличествоЗаписей)- метод LIMITЛевоеСоединение(Условие),ПравоеСоединение(Условие),ВнутренееСоединение(Условие),ВнешнееСоединение(Условие)- методы LEFT JOIN, RIGHT JOIN, INNER JOIN, OUTER JOINУпорядочить(Поле, ПорядокСортировки),Упорядочик(Массив)- метод ORDER BYВыполнить()- выполнить запрос
Еще пример (дано такое же):
Выборка = Конструктор
.Из("Автор")
.Выбрать("Автор.Имя, Автор.Почта")
.ЛевоеСоединение("Роль", "Автор.Роль=Роль.Код")
.Выбрать("Роль.Имя")
.Упорядочить("Автор.Имя", ПорядокСортировки.Убывание);
.Выполнить();Как пример всего этого в других языках: fluentPDO
Metadata
Metadata
Assignees
Labels
No labels