Spec-Zone.ru › CakePHP 4.2

Класс LoggingStatement

Декоратор оператора, используемый для

Пространство имён: Cake\Database\Log

Константы

  • string
    FETCH_TYPE_ASSOC
    'assoc'

    Используется для указания того, что в результате при вызове методов fetch должна возвращаться ассоциативный массив

  • string
    FETCH_TYPE_NUM
    'num'

    Используется для указания того, что в результате при вызове методов fetch должны возвращаться числовые индексы

  • string
    FETCH_TYPE_OBJ
    'obj'

    Используется для указания того, что в результате при вызове методов fetch должен возвращаться объект stdClass

Краткое описание свойств

  • $_compiledParams protected
    array

    Содержит связанные параметры

  • $_driver protected
    Cake\Database\DriverInterface

    Ссылка на объект драйвера, связанный с этим оператором.

  • $_hasExecuted protected
    bool

    Выполнялся ли этот оператор ранее

  • $_logger protected
    Psr\Log\LoggerInterface

    Экземпляр логгера, ответственный за выполнение задачи логирования

  • $_statement protected
    Cake\Database\StatementInterface

    Реализация экземпляра оператора, например, PDOStatement или любая другая пользовательская реализация.

  • $loggedQuery protected
    Cake\Database\Log\LoggedQuery|null

    Залогированный запрос

  • $queryString public @property-read
    string
  • $startTime protected
    float

    Время начала выполнения запроса.

Краткое описание методов

  • __construct() public

    Конструктор

  • __get() public

    Магический геттер для возвращения $queryString в качестве только для чтения.

  • _log() protected

    Копирует данные логирования в переданный LoggedQuery и отправляет их в систему логирования.

  • bind() public

    Связывает набор значений с объектом оператора с соответствующим типом.

  • bindValue() public

    Обёртка для функции bindValue для сбора каждого параметра для последующего использования в функции logger.

  • cast() public

    Преобразует заданное значение в подходящее значение базы данных на основе типа и возвращает соответствующий внутренний тип оператора

  • closeCursor() public

    Закрывает курсор в базе данных, освобождая любые ресурсы и память, выделенные для него. В большинстве случаев вам не нужно вызывать этот метод, так как он автоматически вызывается после извлечения всех результатов из набора результатов.

  • columnCount() public

    Возвращает количество столбцов, которые будут содержать результаты этого оператора.

  • count() public

    Операторы могут быть переданы в качестве аргумента для count() для возвращения количества затронутых строк из последнего выполнения.

  • errorCode() public

    Возвращает код ошибки для последней ошибки, произошедшей при выполнении этого оператора.

  • errorInfo() public

    Возвращает информацию об ошибке для последней ошибки, произошедшей при выполнении этого оператора.

  • execute() public

    Обёртка для функции execute для расчета затраченного времени и последующего логирования запроса.

  • fetch() public

    Возвращает следующую строку набора результатов после выполнения этого оператора. Строки можно извлечь, чтобы они содержали имена или позиции столбцов. Если в наборе результатов не осталось строк, этот метод вернёт false.

  • fetchAll() public

    Возвращает массив со всеми строками, полученными в результате выполнения этого оператора.

  • fetchAssoc() public

    Возвращает следующую строку в наборе результатов в виде ассоциативного массива. Вызов этой функции эквивалентен вызову $statement->fetch(StatementDecorator::FETCH_TYPE_ASSOC). Если результатов не найдено, возвращается false.

  • fetchColumn() public

    Возвращает значение результата в позиции.

  • getInnerStatement() public

    Возвращает объект оператора, который был декорирован этим классом.

  • getIterator() public

    Операторы итерируемы как массивы, этот метод вернёт объект итератора для обхода всех элементов в результате.

  • getLogger() public

    Возвращает объект логгера

  • lastInsertId() public

    Возвращает последний вставленный первичный ключ, используя этот оператор.

  • matchTypes() public

    Сопоставляет столбцы с соответствующими типами

  • rowCount() public

    Возвращает количество строк, затронутых этим оператором SQL.

  • setLogger() public

    Устанавливает логгер

END_OF_DOCUMENT_MARKER

Подробное описание методов

__construct() public

__construct(Cake\Database\StatementInterface $statement, Cake\Database\DriverInterface $driver)

Конструктор

Параметры

Cake\Database\StatementInterface $statement

Реализация оператора, например, PDOStatement.

Cake\Database\DriverInterface $driver

Экземпляр драйвера

__get() public

__get(string $property): mixed

Магический геттер для возврата $queryString как доступного только для чтения.

Параметры

string $property

Внутреннее свойство для получения

Возвращает

mixed

_log() protected

_log(): void

Копирует данные журнала в переданный LoggedQuery и отправляет их в систему ведения журнала.

Возвращает

void

bind() public

bind(array $params, array $types): void

Привязывает набор значений к объекту оператора с соответствующим типом.

Параметры

array $params

Список значений для привязки

array $types

Список типов для использования, ключи должны совпадать с ключами в $params

Возвращает

void

bindValue() public

bindValue(string|int $column, mixed $value, string|int|null $type = 'string'): void

Обёртка для функции bindValue, чтобы собрать каждый параметр для последующего использования в функции ведения журнала.

Не разрешается комбинировать позиционные и именованные переменные в одном операторе.

Примеры:

$statement->bindValue(1, 'a title');
$statement->bindValue('active', true, 'boolean');
$statement->bindValue(5, new \DateTime(), 'date');

Параметры

string|int $column

Имя или позиция параметра для привязки

mixed $value

Значение для привязки к переменной в запросе

string|int|null $type optional

Тип PDO или имя настроенного класса Type

Возвращает

void

cast() public

cast(mixed $value, Cake\Database\TypeInterface|string|int $type = 'string'): array

Преобразует заданное значение в подходящее значение базы данных на основе типа и возвращает соответствующий внутренний тип оператора.

Параметры

mixed $value

Значение для приведения типа

Cake\Database\TypeInterface|string|int $type optional

Имя типа или экземпляр типа для использования.

Возвращает

array

closeCursor() public

closeCursor(): void

Закрывает курсор в базе данных, освобождая все ресурсы и память, выделенные ему. В большинстве случаев вам не нужно вызывать этот метод, так как он автоматически вызывается после извлечения всех результатов из результирующего набора.

Возвращает

void

columnCount() public

columnCount(): int

Возвращает количество столбцов, которые будет содержать результат этого оператора.

Пример:

$statement = $connection->prepare('SELECT id, title from articles');
$statement->execute();
echo $statement->columnCount(); // outputs 2

Возвращает

int

count() public

count(): int

Операторы могут передаваться как аргумент для count(), чтобы вернуть количество затронутых строк после последнего выполнения.

Возвращает

int

errorCode() public

errorCode(): int|string

Возвращает код ошибки последней ошибки, произошедшей при выполнении этого оператора.

Возвращает

int|string

errorInfo() public

errorInfo(): array

Возвращает информацию об ошибке последней ошибки, произошедшей при выполнении этого оператора.

Возвращает

array

execute() public

execute(array|null $params = null): bool

Обёртка для функции execute для расчёта затраченного времени и последующего логирования запроса.

Параметры

array|null $params optional

Список значений для привязки к запросу

Возвращает

bool

Вызывает исключение

Exception
Повторно вызывает любое исключение, возникшее во время выполнения запроса.

fetch() public

fetch(string|int $type = self::FETCH_TYPE_NUM): mixed

Возвращает следующую строку для результирующего набора после выполнения этого оператора. Строки могут быть получены, содержащие столбцы как имена или позиции. Если в результирующем наборе не осталось строк, этот метод вернёт false.

Пример:

$statement = $connection->prepare('SELECT id, title from articles');
$statement->execute();
print_r($statement->fetch('assoc')); // will show ['id' => 1, 'title' => 'a title']

Параметры

string|int $type optional

Возвращает

mixed

fetchAll() public

fetchAll(string|int $type = self::FETCH_TYPE_NUM): array|false

Возвращает массив со всеми строками, полученными в результате выполнения этого оператора.

Пример:

$statement = $connection->prepare('SELECT id, title from articles');
$statement->execute();
print_r($statement->fetchAll('assoc')); // will show [0 => ['id' => 1, 'title' => 'a title']]

Параметры

string|int $type optional

Возвращает

array|false

fetchAssoc() public

fetchAssoc(): array

Возвращает следующую строку в результирующем наборе в виде ассоциативного массива. Вызов этой функции эквивалентен вызову $statement->fetch(StatementDecorator::FETCH_TYPE_ASSOC). Если результаты не найдены, возвращается false.

Возвращает

array

fetchColumn() public

fetchColumn(int $position): mixed

Возвращает значение результата в указанной позиции.

Параметры

int $position

Числовая позиция столбца для извлечения в результате

Возвращает

mixed

getInnerStatement() public

getInnerStatement(): Cake\Database\StatementInterface

Возвращает объект оператора, который был декорирован этим классом.

Возвращает

Cake\Database\StatementInterface

getIterator() public

getIterator(): Cake\Database\StatementInterface

Операторы являются итерируемыми как массивы, этот метод вернёт объект итератора для обхода всех элементов в результате.

Пример:

$statement = $connection->prepare('SELECT id, title from articles');
foreach ($statement as $row) {
  //do stuff
}

Возвращает

Cake\Database\StatementInterface

getLogger() public

getLogger(): Psr\Log\LoggerInterface

Возвращает объект ведения журнала

Возвращает

Psr\Log\LoggerInterface

lastInsertId() public

lastInsertId(string|null $table = null, string|null $column = null): string|int

Возвращает последнее значение первичного ключа, вставленного с помощью этого оператора.

Параметры

string|null $table optional

Имя таблицы или последовательности, из которой нужно получить последнее вставленное значение

string|null $column optional

Имя столбца, представляющего первичный ключ

Возвращает

string|int

matchTypes() public

matchTypes(array $columns, array $types): array

Сопоставляет столбцы с соответствующими типами

И $columns, и $types должны быть либо числовыми, либо строковыми ключами одновременно.

Параметры

array $columns

Список или ассоциативный массив столбцов и параметров, которые необходимо связать с типами

array $types

Список или ассоциативный массив типов

Возвращает

array

rowCount() public

rowCount(): int

Возвращает количество строк, затронутых этим оператором SQL.

Пример:

$statement = $connection->prepare('SELECT id, title from articles');
$statement->execute();
print_r($statement->rowCount()); // will show 1

Возвращает

int

setLogger() public

setLogger(Psr\Log\LoggerInterface $logger): void

Устанавливает логгер

Параметры

Psr\Log\LoggerInterface $logger

Объект логгера

Возвращаемое значение

void

Подробное описание свойств

$_compiledParams protected

Содержит привязанные параметры

Тип

array

$_driver protected

Ссылка на объект драйвера, связанный с этим оператором.

Тип

Cake\Database\DriverInterface

$_hasExecuted protected

Выполнялся ли этот оператор ранее

Тип

bool

$_logger protected

Экземпляр логгера, ответственный за выполнение задач логирования

Тип

Psr\Log\LoggerInterface

$_statement protected

Реализация экземпляра оператора, например, PDOStatement или любая другая кастомная реализация.

Тип

Cake\Database\StatementInterface

$loggedQuery protected

Залогированный запрос

Тип

Cake\Database\Log\LoggedQuery|null

$queryString public @property-read

Тип

string

$startTime protected

Время начала выполнения запроса.

Тип

float

© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/4.2/class-Cake.Database.Log.LoggingStatement.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API