Сайт FSA

Перейти к оглавлению

Класс PostgreSQL

Представляет из себя дочерний класс PDO.

Получить уже готовый экземпляр класса с выполненным подключением к БД можно с помощью метода App::sql(). Кроме этого, можно воспользоваться методом App::sqlCallback() результат которого можно передать в виде callback функции. Это может быть полезно, если есть вероятность, что соединение с базой данных не понадобится. Соединение с БД будет инициализировано только в случае вызова callback функции.

PostgreSQL::insert

public PostgreSQL::insert(
    string $table,
    array $values,
    string $index = 'id'
): mixed

Позволяет применить SQL запрос INSERT INTO ... для произвольного числа полей, значения которых находятся в ассоциативном массиве.

Возвращает значение индексного поля для вставленной строки.

Список параметров:

PostgreSQL::update

public PostgreSQL::update(
    string $table,
    array $values,
    string $index = 'id',
    string $old_index = null
): bool

Позволяет выполнить SQL запрос UPDATE ... SET ... для произвольного числа полей, значения которых находятся в ассоциативном массиве.

Возвращает true в случае успешного выполнения и false в случае возникновения ошибки.

Список параметров:

PostgreSQL::fetchEntity

PostgreSQL::fetchEntity(
    $class_name,
    $where
): object|false

Позволяет получить объект заданного класса class_name из строки базы данных. Используемый класс должен поддерживать интерфейс SQL\EntityInterface. В качестве where может быть использована строка или ассоциативный массив. При использовании строки, поиск строки будет производиться по первичному индексу. При использовании ассоциативного массива - по произвольным полям.

Возвращает новый объект указанного класса из соответствующей таблицы БД или false в случае возникновения ошибки.

PostgreSQL::insertEntity

PostgreSQL::insertEntity($object): mixed

Позволяет добавить объект с интерфейсом SQL\EntityInterface в базу данных.

Возвращает значение ключевого поля вставленного объекта.

PostgreSQL::updateEntity

PostgreSQL::updateEntity(
    object $object,
    string $id = null
): bool

Позволяет обновить данные об объекте с интерфейсом SQL\EntityInterface в базе данных. Значение id не является обязательным. Если у объекта меняется значение первичного индекса, то необходимо старое значение добавить в виде дополнительного свойства и указать имя этого свойства в id.

Возвращает true в случае успешного выполнения и false в случае возникновения ошибки.

PostgreSQL::fetchKeyPair

PostgreSQL::fetchKeyPair(string $class_name): array

Позволяет получить из таблицы БД с именем, которая указана в классе с интерфейсом SQL\EntityInterface все строки в виде массива пар «индекс»=>«наименование». Кроме этого класс должен реализовывать интерфейс SQL\KeyPairInterface.

Возвращает ассоциативный массив из всех записей таблицы БД.

PostgreSQL::queryEntity

PostgreSQL::queryEntity(
    string $class_name,
    string $order
)

Позволяет получить объекты класса class_name из БД.

Возвращает объект типа PDOStatement.

Список параметров: