FMPQuery.Builder

Описание

Класс FMPQuery.Builder является строителем для класса FMPQuery.

class Builder

Методы

Метод Описание

database(_:)

Сохранение в переменную объекта базы данных, с которой будет работать FMPQuery.
func database(_ database: FMPDatabase) -> Builder

Параметры:

  • database. База данных.

select(_:) Добавление в SQL-запрос оператора SELECT.
func select(_ columns: [String] = ["*"]) -> Builder

Параметры:

  • columns. Список имен столбцов.

from(_:) Добавление в SQL-запрос оператора FROM.
func from(_ table: FMPTable) -> Builder

Параметры:

  • table. Таблица.

join(_:type:) Добавление в SQL-запрос оператора JOIN.
func join(_ table: FMPTable, type: JoinType = .inner) -> Builder

Параметры:

  • table. Таблица;

  • type. Вид join-запроса.

on(_:) Добавление в SQL-запрос оператора ON.
func on(_ conditions: [String]) -> Builder

Параметры:

  • conditions. Условия.

using(_:) Добавление в SQL-запрос оператора USING.
func using(_ column: String) -> Builder

Параметры:

  • column. Имя столбца.

where(_:) Добавление в SQL-запрос оператора WHERE.
func where(_ conditions: [String]) -> Builder

Параметры:

  • conditions. Условия.

order(by:) Добавление в SQL-запрос оператора ORDER BY.
func order(by columns: [(column: String, asc: Bool)]) -> Builder

Параметры:

  • columns. Условия сортировки, представляющие собой массив из кортежей с именем столбца column и соответствующим направлением сортировки order.

limit(_:offset:) Добавление в SQL-запрос оператора LIMIT.
func limit(_ limit: Int, offset: Int? = nil) -> Builder

Параметры:

  • limit. Число запрашиваемых строк;

  • offset. Число пропускаемых строк.

group(by:) Добавление в SQL-запрос оператора GROUP BY.
func group(by columns: [String]) -> Builder

Параметры:

  • columns. Список имен столбцов.

having(_:) Добавление в SQL-запрос оператора HAVING.
func having(_ conditions: [String]) -> Builder

Параметры:

  • conditions. Условия.

isResumable(_:) Устанавливает использование докачки при запросе данных с сервера.
func isResumable(_ isResumable: Bool = true) -> Builder

Параметры:

  • isResumable. Если true, то при запросе к серверу используется докачка. Если false - докачка не используется.

pathForResume(_:) Сохранение в переменную пути к папке в директории приложения, где будут храниться файлы докачки.
func pathForResume(_ path: String) -> Builder

Параметры:

  • path. Путь к папке в директории приложения, где будут храниться файлы докачки.

build() Построение экземпляра класса FMPQuery. Возвращает объект типа FMPQuery.
func build() -> FMPQuery

Пример

Построение экземпляра класса FMPQuery:

// Построим экземпляр класса FMPDatabase. Подробнее в примерах к FMPDatabase.Builder.
let database: FMPDatabase = fmp.database.build()
  
// Построим экземпляры класса FMPTable. Подробнее в примерах к FMPTable.Builder.
let table1: FMPTable = fmp.table.build()
let table2: FMPTable = fmp.table.build()
 
// Построим экземпляр класса FMPQuery с query-выражением SELECT column from table1 LEFT JOIN table2 USING(column) WHERE id = 0 AND key = all ORDER BY column ASC
let query: FMPQuery = fmp.query
    .database(database) // По умолчанию nil
    .select(["column"])
    .from(table1)
    .join(table: table2, type: .left)
    .using("column")
    .where(["id = 0", "key = all"])
    .order(by: [(column: "column", asc: true)])
    .isResumable(false) // По умолчанию false
    .pathForResume("path") // По умолчанию ""
    .build()

См. также:

Фреймворк FMPWrapper | Классы