Класс LoggingStatement
Декоратор оператора, используемый для
Константы
-
stringFETCH_TYPE_ASSOC'assoc'
Используется для указания того, что в результате при вызове методов fetch должна возвращаться ассоциативный массив
-
stringFETCH_TYPE_NUM'num'
Используется для указания того, что в результате при вызове методов fetch должны возвращаться числовые индексы
-
stringFETCH_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
Устанавливает логгер
Подробное описание методов
__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 и отправляет их в систему ведения журнала.
Возвращает
voidbind() public
bind(array $params, array $types): void
Привязывает набор значений к объекту оператора с соответствующим типом.
Параметры
-
array$params Список значений для привязки
-
array$types Список типов для использования, ключи должны совпадать с ключами в $params
Возвращает
voidbindValue() 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
Возвращает
voidcast() public
cast(mixed $value, Cake\Database\TypeInterface|string|int $type = 'string'): array
Преобразует заданное значение в подходящее значение базы данных на основе типа и возвращает соответствующий внутренний тип оператора.
Параметры
-
mixed$value Значение для приведения типа
-
Cake\Database\TypeInterface|string|int$type optional Имя типа или экземпляр типа для использования.
Возвращает
arraycloseCursor() public
closeCursor(): void
Закрывает курсор в базе данных, освобождая все ресурсы и память, выделенные ему. В большинстве случаев вам не нужно вызывать этот метод, так как он автоматически вызывается после извлечения всех результатов из результирующего набора.
Возвращает
voidcolumnCount() public
columnCount(): int
Возвращает количество столбцов, которые будет содержать результат этого оператора.
Пример:
$statement = $connection->prepare('SELECT id, title from articles');
$statement->execute();
echo $statement->columnCount(); // outputs 2 Возвращает
intcount() public
count(): int
Операторы могут передаваться как аргумент для count(), чтобы вернуть количество затронутых строк после последнего выполнения.
Возвращает
interrorCode() public
errorCode(): int|string
Возвращает код ошибки последней ошибки, произошедшей при выполнении этого оператора.
Возвращает
int|stringerrorInfo() public
errorInfo(): array
Возвращает информацию об ошибке последней ошибки, произошедшей при выполнении этого оператора.
Возвращает
arrayexecute() 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
Возвращает
mixedfetchAll() 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|falsefetchAssoc() public
fetchAssoc(): array
Возвращает следующую строку в результирующем наборе в виде ассоциативного массива. Вызов этой функции эквивалентен вызову $statement->fetch(StatementDecorator::FETCH_TYPE_ASSOC). Если результаты не найдены, возвращается false.
Возвращает
arrayfetchColumn() public
fetchColumn(int $position): mixed
Возвращает значение результата в указанной позиции.
Параметры
-
int$position Числовая позиция столбца для извлечения в результате
Возвращает
mixedgetInnerStatement() public
getInnerStatement(): Cake\Database\StatementInterface
Возвращает объект оператора, который был декорирован этим классом.
Возвращает
Cake\Database\StatementInterfacegetIterator() public
getIterator(): Cake\Database\StatementInterface
Операторы являются итерируемыми как массивы, этот метод вернёт объект итератора для обхода всех элементов в результате.
Пример:
$statement = $connection->prepare('SELECT id, title from articles');
foreach ($statement as $row) {
//do stuff
} Возвращает
Cake\Database\StatementInterfacegetLogger() public
getLogger(): Psr\Log\LoggerInterface
Возвращает объект ведения журнала
Возвращает
Psr\Log\LoggerInterfacelastInsertId() public
lastInsertId(string|null $table = null, string|null $column = null): string|int
Возвращает последнее значение первичного ключа, вставленного с помощью этого оператора.
Параметры
-
string|null$table optional Имя таблицы или последовательности, из которой нужно получить последнее вставленное значение
-
string|null$column optional Имя столбца, представляющего первичный ключ
Возвращает
string|intmatchTypes() public
matchTypes(array $columns, array $types): array
Сопоставляет столбцы с соответствующими типами
И $columns, и $types должны быть либо числовыми, либо строковыми ключами одновременно.
Параметры
-
array$columns Список или ассоциативный массив столбцов и параметров, которые необходимо связать с типами
-
array$types Список или ассоциативный массив типов
Возвращает
arrayrowCount() public
rowCount(): int
Возвращает количество строк, затронутых этим оператором SQL.
Пример:
$statement = $connection->prepare('SELECT id, title from articles');
$statement->execute();
print_r($statement->rowCount()); // will show 1 Возвращает
intsetLogger() 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