Класс CallbackStatement
Оборачивает оператор в обратный вызов, который позволяет изменять результаты строк при их извлечении.
Используется CakePHP для жадной загрузки данных ассоциации.
Константы
-
stringFETCH_TYPE_ASSOC'assoc'
Используется для обозначения того, что в результате при вызове методов fetch должен возвращаться ассоциативный массив.
-
stringFETCH_TYPE_NUM'num'
Используется для обозначения того, что в результате при вызове методов fetch должны возвращаться числовые индексы.
-
stringFETCH_TYPE_OBJ'obj'
Используется для обозначения того, что в результате при вызове методов fetch должен возвращаться объект stdClass.
Краткое описание свойств
- $_callback protected
callableФункция обратного вызова, которая должна применяться к результатам.
- $_driver protected
Cake\Database\DriverInterfaceСсылка на объект драйвера, связанный с этим оператором.
- $_hasExecuted protected
boolИсполнялся ли этот оператор
- $_statement protected
Cake\Database\StatementInterfaceРеализация экземпляра оператора, например, PDOStatement или любая другая настраиваемая реализация.
- $queryString public @property-read
string
Краткое описание методов
-
__construct() public
Конструктор
-
__get() public
Магический метод доступа для возвращения $queryString в качестве только для чтения.
-
bind() public
Привязывает набор значений к объекту оператора с соответствующим типом.
-
bindValue() public
Назначает значение позиционной или именованной переменной в подготовленном запросе. Если используются позиционные переменные, вам необходимо начать с индекса один, если используются именованные параметры, просто используйте имя в любом порядке.
-
cast() public
Преобразует данное значение в подходящее значение базы данных на основе типа и возвращает соответствующий внутренний тип оператора.
-
closeCursor() public
Закрывает курсор в базе данных, освобождая все ресурсы и память, выделенные для него. В большинстве случаев вам не нужно вызывать этот метод, так как он автоматически вызывается после извлечения всех результатов из набора результатов.
-
columnCount() public
Возвращает количество столбцов, которые будут содержать результаты этого оператора.
-
count() public
Операторы могут передаваться в качестве аргумента для count() для возвращения количества затронутых строк из последнего выполнения.
-
errorCode() public
Возвращает код ошибки для последней ошибки, произошедшей при выполнении этого оператора.
-
errorInfo() public
Возвращает информацию об ошибке для последней ошибки, произошедшей при выполнении этого оператора.
-
execute() public
Выполняет оператор, отправляя SQL-запрос в базу данных. Он может по желанию принимать массив или аргументы, которые будут привязаны к переменным запроса. Обратите внимание, что привязка параметров из этого метода не будет выполнять никакого пользовательского преобразования типов, как это обычно происходит при вызове
bindValue. -
fetch() public
Извлечь строку из оператора.
-
fetchAll() public
Извлечь все строки из оператора.
-
fetchAssoc() public
Возвращает следующую строку в наборе результатов в виде ассоциативного массива. Вызов этой функции эквивалентен вызову $statement->fetch(StatementDecorator::FETCH_TYPE_ASSOC). Если результатов нет, возвращается false.
-
fetchColumn() public
Возвращает значение результата в указанной позиции.
-
getInnerStatement() public
Возвращает объект оператора, который был декорирован этим классом.
-
getIterator() public
Операторы итерируемы как массивы, этот метод вернёт объект итератора для обхода всех элементов в результате.
-
lastInsertId() public
Возвращает последний вставленный первичный ключ, используя этот оператор.
-
matchTypes() public
Сопоставляет столбцы с соответствующими типами.
-
rowCount() public
Возвращает количество строк, затронутых этим SQL-оператором.
Подробное описание методов
__construct() public
__construct(Cake\Database\StatementInterface $statement, Cake\Database\DriverInterface $driver, callable $callback)
Конструктор
Параметры
-
Cake\Database\StatementInterface$statement Запрос для декорирования.
-
Cake\Database\DriverInterface$driver Экземпляр драйвера, используемый запросом.
-
callable$callback Обратный вызов, применяемый к результатам перед возвратом.
__get() public
__get(string $property): mixed
Магический геттер для возврата $queryString в качестве значения только для чтения.
Параметры
-
string$property Внутреннее свойство для получения
Возвращаемое значение
mixedbind() 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
Присваивает значение позиционной или именованной переменной в подготовленном запросе. При использовании позиционных переменных нужно начинать с индекса 1, при использовании именованных переменных просто используйте имя в любом порядке.
Не разрешается комбинировать позиционные и именованные переменные в одном запросе.
Примеры:
$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 необязательно Название настроенного класса типа.
Возвращаемое значение
voidcast() public
cast(mixed $value, Cake\Database\TypeInterface|string|int $type = 'string'): array
Преобразует заданное значение в подходящее значение для базы данных на основе типа и возвращает соответствующий внутренний тип запроса.
Параметры
-
mixed$value Значение для преобразования.
-
Cake\Database\TypeInterface|string|int$type необязательно Имя типа или экземпляр типа для использования.
Возвращаемое значение
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
Выполняет запрос, отправляя SQL-запрос в базу данных. Он может необязательно принимать массив или аргументы, которые нужно привязать к переменным запроса. Обратите внимание, что привязка параметров из этого метода не выполнит никакого пользовательского преобразования типов, как это обычно происходит при вызове bindValue.
Параметры
-
array|null$params необязательно Список значений, которые нужно привязать к запросу.
Возвращаемое значение
boolfetch() public
fetch(string|int $type = parent::FETCH_TYPE_NUM): array|false
Извлекает строку из запроса.
Результат будет обработан обратным вызовом, когда он не false.
Параметры
-
string|int$type необязательно Либо 'num', либо 'assoc', чтобы указать желаемый формат результата.
Возвращаемое значение
array|falsefetchAll() public
fetchAll(string|int $type = parent::FETCH_TYPE_NUM): array
Извлекает все строки из запроса.
Каждая строка в результате будет обработана обратным вызовом, когда она не `false`.
Параметры
-
string|int$type необязательно Либо 'num', либо 'assoc', чтобы указать желаемый формат результата.
Возвращаемое значение
arrayfetchAssoc() 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\StatementInterfacelastInsertId() public
lastInsertId(string|null $table = null, string|null $column = null): string|int
Возвращает последний вставленный первичный ключ, используя этот запрос.
Параметры
-
string|null$table необязательно Имя таблицы или последовательности для получения последнего вставленного значения.
-
string|null$column необязательно Имя столбца, представляющего первичный ключ.
Возвращаемое значение
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 Возвращаемое значение
intПодробное описание свойств
$_callback protected
Функция обратного вызова, применяемая к результатам.
Тип
callable$_driver protected
Ссылка на объект драйвера, связанный с этим запросом.
Тип
Cake\Database\DriverInterface$_hasExecuted protected
Указывает, был ли уже выполнен этот запрос.
Тип
bool$_statement protected
Реализация экземпляра запроса, например PDOStatement или любая другая пользовательская реализация.
Тип
Cake\Database\StatementInterface$queryString public @property-read
Тип
string
© 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.Statement.CallbackStatement.html