Класс Mysql
Объект драйвера DBO MySQL
Обеспечивает подключение и генерацию SQL для СУБД MySQL
- Объект
-
Источник данных -
Источник Dbo -
Mysql
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: MIT Лицензия
Расположение: Cake/Model/Datasource/Database/Mysql.php
Подробное описание методов
_alterIndexesисходный код защищенный
_alterIndexes( string $table , array $indexes )
Генерирует инструкции MySQL по изменению индексов таблицы.
Параметры
- строка
$table - Таблица для изменения индексов
- массив
$indexes - Индексы для добавления и удаления
Возвращает
arrayИнструкции по изменению индексов
_alterTableParametersисходный код защищенный
_alterTableParameters( string $table , array $parameters )
Генерирует инструкции MySQL по изменению параметров таблицы.
Параметры
- строка
$table - Таблица для изменения параметров.
- массив
$parameters - Параметры для добавления и удаления.
Возвращает
arrayМассив инструкций по изменению свойств таблицы.
_buildIndexSubPartисходный код защищенный
_buildIndexSubPart( array $lengths , string $column )
Форматирует длину для текстовых индексов
Параметры
- массив
$lengths - Массив длин для одного индекса
- строка
$column - Столбец, для которого необходимо сгенерировать длину индекса
Возвращает
stringОтформатированная часть длины поля индекса
_dropTableисходный код защищенный
_dropTable( type $table )
Генерирует инструкцию "удаление таблицы" для указанной таблицы
Параметры
- тип
$table - Имя таблицы для удаления
Возвращает
stringИнструкция SQL для удаления таблицы
Переопределяет
DboSource::_dropTable() _unsignedисходный код защищенный
_unsigned( string $real )
Проверяет, является ли тип столбца беззнаковым.
Параметры
- строка
$real - Фактический тип столбца уровня базы данных (например, "varchar(255)")
Возвращает
booleanTrue, если столбец беззнаковый, иначе false
alterSchemaисходный код общедоступный
alterSchema( array $compare , string $table null )
Генерирует синтаксис MySQL Alter Table для заданного сравнения схем
Параметры
- массив
$compare - Результат CakeSchema::compare()
- строка
$tableнеобязательный null - Имя таблицы.
Возвращает
arrayМассив инструкций по изменению.
Переопределяет
DboSource::alterSchema() buildIndexисходный код общедоступный
buildIndex( array $indexes , string $table null )
Форматирует индексы для создания таблицы
Параметры
- массив
$indexes - Массив индексов для генерации SQL
- строка
$tableнеобязательный null - Необязательное имя таблицы, не используется
Возвращает
arrayМассив инструкций SQL для индексов
См. также
DboSource::buildIndex()Переопределяет
DboSource::buildIndex() columnисходный код общедоступный
column( string $real )
Преобразует типы столбцов уровня базы данных в базовые типы
Параметры
- строка
$real - Фактический тип столбца уровня базы данных (например, "varchar(255)")
Возвращает
stringАбстрактный тип столбца (например, "строка")
Переопределяет
DataSource::column() connectисходный код общедоступный
connect( )
Подключается к базе данных, используя параметры в заданном массиве конфигурации.
MySQL поддерживает несколько дополнительных параметров, которых нет у других драйверов:
-
unix_socketУстанавливает путь к файлу сокета MySQL. Можно использовать вместо хоста + порта. -
ssl_keyФайл ключа SSL для подключения через SSL. Должен использоваться совместно сssl_cert. -
ssl_certСертификат SSL для использования при подключении через SSL. Должен использоваться совместно сssl_key. -
ssl_caСертификационный центр для подключений через SSL.
Возвращает
booleanTrue, если база данных подключена, иначе false
Выбрасывает
MissingConnectionExceptionMissingConnectionException
deleteисходный код общедоступный
delete( Model $model , mixed $conditions null )
Генерирует и выполняет операцию SQL DELETE для заданного id/условий для заданной модели.
Параметры
-
Model$model - Модель для удаления.
- смешанный
$conditionsнеобязательный null - Условия для использования.
Возвращает
booleanУспешно
Переопределяет
DboSource::delete() describeисходный код общедоступный
describe( Model|string $model )
Возвращает массив полей в заданной таблице.
Параметры
-
Model|строка$model - Имя таблицы базы данных для проверки или экземпляр модели
Возвращает
arrayПоля в таблице. Ключи — имя и тип
Выбрасывает
CakeExceptionCakeException
Переопределяет
DataSource::describe() enabledисходный код общедоступный
enabled( )
Проверяет, установлен/загружен ли расширение MySQL
Возвращает
booleanbool
Переопределяет
DataSource::enabled() fetchResultисходный код общедоступный
fetchResult( )
Извлекает следующую строку из текущего набора результатов
Возвращает
mixedМассив извлеченных результатов, сопоставленных с именами столбцов, или false, если извлекать больше нечего
Переопределяет
DboSource::fetchResult() getCharsetNameисходный код общедоступный
getCharsetName( string $name )
Запрос набора символов по сортировке
Параметры
- строка
$name - Имя сортировки
Возвращает
stringИмя набора символов
getEncodingисходный код общедоступный
getEncoding( )
Получает кодировку базы данных
Возвращает
stringКодировка базы данных
getSchemaNameисходный код общедоступный
getSchemaName( )
Получает имя схемы
Возвращает
stringИмя схемы
Переопределяет
DataSource::getSchemaName() indexsource public
index( string $model )
Возвращает массив индексов в заданном источнике данных.
Параметры
- строка
$model - Имя модели для проверки
Возвращает
arrayПоля в таблице. Ключи — столбец и уникальность
Переопределяет
DboSource::index() listDetailedSourcessource public
listDetailedSources( string $name null )
Возвращает подробный массив источников (таблиц) в базе данных.
Параметры
- строка
$nameнеобязательно null - Имя таблицы для получения параметров
Возвращает
arrayМассив имён таблиц в базе данных
listSourcessource public
listSources( mixed $data null )
Возвращает массив источников (таблиц) в базе данных.
Параметры
- смешанное
$dataнеобязательно null - Список таблиц.
Возвращает
arrayМассив имён таблиц в базе данных
Переопределяет
DataSource::listSources() nestedTransactionSupportedsource public
nestedTransactionSupported( )
Проверяет, поддерживает ли сервер вложенные транзакции
Возвращает
booleanbool
Переопределяет
DboSource::nestedTransactionSupported() resultSetsource public
resultSet( PDOStatement $results )
Создаёт карту столбцов, содержащихся в результате.
Параметры
- PDOStatement
$results - Результаты для форматирования.
setEncodingsource public
setEncoding( string $enc )
Устанавливает кодировку базы данных
Параметры
- строка
$enc - Кодировка базы данных
Возвращает
booleanbool
updatesource public
update( Model $model , array $fields array() , array $values null , mixed $conditions null )
Генерирует и выполняет оператор SQL UPDATE для заданной модели, полей и значений.
Параметры
-
Model$model - Модель для обновления.
- массив
$fieldsнеобязательно массив() - Поля для обновления.
- массив
$valuesнеобязательно null - Значения для установки.
- смешанное
$conditionsнеобязательно null - Условия для использования.
Возвращает
arrayмассив
Переопределяет
DboSource::update() valuesource public
value( string $data , string $column null , boolean $null true )
Возвращает строку, содержащую цитированное и экранированное значение $data для использования в операторе SQL.
Параметры
- строка
$data - Строка, которая будет подготовлена для использования в операторе SQL
- строка
$columnнеобязательно null - Тип данных столбца, в который будут вставлены эти данные.
- логическое значение
$nullнеобязательно true - Столбец допускает значения NULL
Возвращает
stringЦитированные и экранированные данные
Переопределяет
DboSource::value() Методы, унаследованные от DboSource
__constructsource public
__construct( array $config null , boolean $autoConnect true )
Конструктор
Параметры
- массив
$configнеобязательно null - Массив с информацией о конфигурации источника данных.
- логическое значение
$autoConnectнеобязательно true - Автоматически ли подключать источник данных.
Вызывает
MissingConnectionExceptionпри невозможности подключения.
Переопределяет
DataSource::__construct() __destructsource public
__destruct( )
Используется для хранения результатов метода in-memory methodCache в кэше.
Переопределяет
DataSource::__destruct() _buildFieldParameterssource protected
_buildFieldParameters( string $columnString , array $columnData , string $position )
Строит параметры поля в заданной позиции.
Параметры
- строка
$columnString - Частично построенная строка столбца
- массив
$columnData - Массив данных столбца.
- строка
$position - Тип позиции для использования. 'beforeDefault' или 'afterDefault' — распространённые варианты
Возвращает
stringПостроенный столбец с добавленными параметрами поля.
_commitNestedsource protected
_commitNested( )
Завершить вложенную транзакцию
Возвращает
booleanbool
_constructVirtualFieldssource protected
_constructVirtualFields( Model $Model , string $alias , array $fields )
Преобразует виртуальные поля модели в выражения SQL, которые будут извлечены позже.
Параметры
-
Model$Model - Модель, для которой нужно получить виртуальные поля.
- строка
$alias - Псевдоним имени таблицы
- массив
$fields - Виртуальные поля, используемые в запросе
Возвращает
arrayмассив
_executesource protected
_execute( string $sql , array $params array() , array $prepareOptions array() )
Выполняет заданный оператор SQL.
Параметры
- строка
$sql - Оператор SQL
- массив
$paramsнеобязательно массив() - Список параметров, которые нужно связать с запросом.
- массив
$prepareOptionsнеобязательно массив() - Параметры, используемые в операторе prepare.
Возвращает
mixedPDOStatement, если запрос выполняется без проблем, true в случае успешного запроса, false при ошибке запроса, возвращающего 0 строк, например, оператор CREATE, false в противном случае
Вызывает
PDOExceptionPDOException
_fetchHasAndBelongsToManysource protected
_fetchHasAndBelongsToMany( Model $Model , string $query , array $ids , string $association )
Извлечь ассоциации 'hasAndBelongsToMany'.
Параметры
-
Model$Model - Объект основной модели.
- строка
$query - Запрос ассоциации.
- массив
$ids - Массив идентификаторов связанных записей.
- строка
$association - Имя ассоциации.
Возвращает
arrayРезультаты ассоциации.
_fetchHasManysource protected
_fetchHasMany( Model $Model , string $query , array $ids )
Извлечь ассоциации 'hasMany'.
Параметры
-
Model$Model - Объект основной модели.
- строка
$query - Шаблон запроса ассоциации.
- массив
$ids - Массив идентификаторов связанных записей.
Возвращает
arrayРезультаты ассоциации.
_filterResultssource protected
_filterResults( array $resultSet , Model $Model , array $filtered array() )
Пропускает результаты ассоциаций через фильтры afterFind соответствующей модели.
Основная модель всегда исключается, так как фильтрация выполняется позже в Model::_filterResults().
Параметры
- массив
$resultSet - $resultSet Ссылка на набор результатов для фильтрации.
-
Model$Model - Экземпляр модели для обработки.
- массив
$filteredнеобязательно array() - Список классов, которые уже отфильтрованы и должны быть пропущены.
Возвращаемое значение
arrayМассив результатов, отфильтрованных через $Model->afterFind.
_filterResultsInclusivesource protected
_filterResultsInclusive( array $resultSet , Model $Model , array $toBeFiltered array() )
Пропускает результаты ассоциаций через фильтры afterFind соответствующей модели.
Аналогично DboSource::_filterResults(), но фильтрует только указанные модели. Основная модель не может быть указана, так как этот вызов внутренне вызывает DboSource::_filterResults().
Параметры
- массив
$resultSet - $resultSet Ссылка на набор результатов для фильтрации.
-
Model$Model - Экземпляр модели для обработки.
- массив
$toBeFilteredнеобязательно array() - Список классов для фильтрации.
Возвращаемое значение
arrayМассив результатов, отфильтрованных через $Model->afterFind.
_getJoinssource protected
_getJoins( Model $Model )
Возвращает массив условий SQL JOIN из ассоциаций модели.
Параметры
-
Model$Model - Модель, для которой необходимо получить JOIN-условия.
Возвращаемое значение
arrayмассив
_matchRecordssource protected
_matchRecords( Model $Model , mixed $conditions null )
Получает список идентификаторов записей для заданных условий. Используется для многозаписочных обновлений и удалений в базах данных, которые не поддерживают псевдонимы в запросах UPDATE/DELETE.
Параметры
-
Model$Model - Модель, для которой необходимо найти соответствующие записи.
- смешанный
$conditionsнеобязательно null - Условия для сопоставления.
Возвращаемое значение
arrayСписок идентификаторов записей
_mergeAssociationsource protected
_mergeAssociation( array $data , array $merge , string $association , string $type , boolean $selfJoin false )
Объединяет ассоциацию merge в данные
Параметры
- массив
$data - $data Данные для объединения.
- массив
$merge - $merge Данные для объединения.
- строка
$association - Имя ассоциации для объединения.
- строка
$type - Тип ассоциации
- логическое значение
$selfJoinнеобязательно false - Является ли это самосвязью.
_mergeConditionssource protected
_mergeConditions( mixed $query , mixed $assoc )
Объединяет набор условий строкового/массивого типа.
Параметры
- смешанный
$query - Запрос для объединения условий.
- смешанный
$assoc - Имена ассоциаций.
Возвращаемое значение
arrayмассив
_mergeHasManysource protected
_mergeHasMany( array $resultSet , array $assocResultSet , string $association , Model $Model )
Объединяет результаты ассоциаций 'hasMany'.
Примечание: эта функция также обрабатывает форматирование данных.
Параметры
- массив
$resultSet - $resultSet Данные для объединения.
- массив
$assocResultSet - Данные для объединения.
- строка
$association - Имя модели, которая объединяется.
-
Model$Model - Модель, к которой происходит объединение.
_parseKeysource protected
_parseKey( string $key , mixed $value , Model $Model null )
Извлекает идентификатор Model.field и оператор условия SQL из строки, форматирует и вставляет значения, и комбинирует их в фрагмент SQL.
Параметры
- строка
$key - Фрагмент SQL ключа, содержащий поле и необязательный оператор SQL.
- смешанный
$value - Значение(я), которое необходимо вставить в строку.
-
Model$Modelнеобязательно null - Объект модели, инициализирующий запрос.
Возвращаемое значение
stringстрока
_prepareUpdateFieldssource protected
_prepareUpdateFields( Model $Model , array $fields , boolean $quoteValues true , boolean $alias false )
Приводит к кавычкам и подготавливает поля и значения для оператора SQL UPDATE.
Параметры
-
Model$Model - Модель, для которой необходимо подготовить поля.
- массив
$fields - Поля для обновления.
- логическое значение
$quoteValuesнеобязательно true - Если значения должны быть приведены к кавычкам или рассматриваться как фрагменты SQL.
- логическое значение
$aliasнеобязательно false - Включать псевдоним модели в имя поля.
Возвращаемое значение
arrayПоля и значения, приведенные к кавычкам и подготовленные
_quoteFieldssource protected
_quoteFields( string $conditions )
Приводит к кавычкам Model.fields
Параметры
- строка
$conditions - Условия для приведения к кавычкам.
Возвращаемое значение
stringили false, если нет совпадения
_quoteMatchedFieldsource protected
_quoteMatchedField( string $match )
Вспомогательная функция для приведения совпадений Model.fields из вызова preg_replace_callback
Параметры
- строка
$match - Совпавшая строка
Возвращаемое значение
stringстрока в кавычках
_rollbackNestedsource protected
_rollbackNested( )
Откат вложенной транзакции
Возвращаемое значение
booleanbool
_scrubQueryDatasource protected
_scrubQueryData( array $data )
Внутренняя вспомогательная функция для удаления метаданных запроса из массива данных.
Параметры
- массив
$data - Данные для удаления метаданных.
Возвращаемое значение
arrayмассив
_writeQueryCachesource protected
_writeQueryCache( string $sql , mixed $data , array $params array() )
Записывает новый ключ для кэша запросов SQL в памяти.
Параметры
- строка
$sql - SQL запрос
- смешанный
$data - результат запроса $sql
- массив
$paramsнеобязательно array() - параметры запроса, привязанные в качестве значений
beginsource public
begin( )
Начать транзакцию
Возвращаемое значение
booleanTrue при успехе, false при неудаче (например, если база данных/модель не поддерживает транзакции или транзакция не начата).
Переопределяет
DataSource::begin() booleansource public
boolean( mixed $data , boolean $quote false )
Преобразует значения PHP boolean в (имитированные) значения boolean базы данных
Параметры
- смешанное
$data - Значение, подлежащее преобразованию
- boolean
$quoteнеобязательно false - Нужно ли преобразовать поле в строку.
Возвращаемое значение
string|booleanПреобразованное логическое значение
buildAssociationQuerysource public
buildAssociationQuery( Model $Model , array $queryData )
Строит SQL-запрос.
Это всего лишь удобная обертка над DboSource::buildStatement().
Параметры
-
Model$Model - Модель, для которой строится запрос для связи.
- массив
$queryData - Массив данных запроса, содержащий ключи, аналогичные Model::find().
Возвращаемое значение
stringСтрока, содержащая SQL-запрос.
См. также
DboSource::buildStatement()buildColumnsource public
buildColumn( array $column )
Генерирует строку схемы колонки базы данных
Параметры
- массив
$column - Массив, структурированный следующим образом: array('name' => 'value', 'type' => 'value'[, options]), где options может быть 'default', 'length' или 'key'.
Возвращаемое значение
stringстрока
buildJoinStatementsource public
buildJoinStatement( array $join )
Строит и генерирует условие JOIN из массива. Обрабатывает окончательную очистку перед преобразованием.
Параметры
- массив
$join - Массив, определяющий условие JOIN в запросе.
Возвращаемое значение
stringУсловие SQL JOIN для использования в запросе.
См. также
DboSource::renderJoinStatement()DboSource::buildStatement()buildStatementsource public
buildStatement( array $query , Model $Model )
Строит и генерирует SQL-запрос из массива. Обрабатывает окончательную очистку перед преобразованием.
Параметры
- массив
$query - Массив, определяющий SQL-запрос.
-
Model$Model - Объект модели, инициировавший запрос.
Возвращаемое значение
stringИсполнимый SQL-запрос.
См. также
DboSource::renderStatement()buildTableParameterssource public
buildTableParameters( array $parameters , string $table null )
Форматирует параметры для создания таблицы
Параметры
- массив
$parameters - Параметры для создания SQL.
- строка
$tableнеобязательно null - Имя таблицы (необязательно).
Возвращаемое значение
arrayмассив
cacheMethodsource public
cacheMethod( string $method , string $key , mixed $value null )
Кэширует значение в methodCaches. Учитывает значение DboSource::$cacheMethods. Получает значение из кэша, если $value равно null.
Если кэширование отключено, и попытка записи, то $value будет возвращено. Чтение вернёт значение или null.
Параметры
- строка
$method - Имя кэшируемого метода.
- строка
$key - Имя ключа для операции кэширования.
- смешанное
$valueнеобязательно null - Значение для кэширования в памяти.
Возвращаемое значение
mixedЛибо null при ошибке, либо значение, если оно установлено.
calculatesource public
calculate( Model $Model , string $func , array $params array() )
Возвращает SQL-вычисление, например, COUNT() или MAX().
Параметры
-
Model$Model - Модель, для которой нужно получить вычисленное поле.
- строка
$func - Нижняя запись имени SQL-функции, например, 'count' или 'max'
- массив
$paramsнеобязательно array() - Параметры функции (любые значения должны быть вручную обрамлены кавычками)
Возвращаемое значение
stringФункция SQL-вычисления
closesource public
close( )
Отключает базу данных, убивает соединение и сообщает, что соединение закрыто.
Переопределяет
DataSource::close() commitsource public
commit( )
Подтверждает транзакцию
Возвращаемое значение
booleanTrue при успехе, false при неудаче (например, если база данных/модель не поддерживает транзакции или транзакция не была начата).
Переопределяет
DataSource::commit() conditionKeysToStringsource public
conditionKeysToString( array $conditions , boolean $quoteValues true , Model $Model null )
Создаёт условие WHERE, анализируя массив условий. Используется методом DboSource::conditions().
Параметры
- массив
$conditions - Массив или строка условий
- boolean
$quoteValuesнеобязательно true - Если true, значения должны быть обрамлены кавычками
-
Model$Modelнеобязательно null - Ссылка на экземпляр объекта модели, выполняющего запрос
Возвращаемое значение
stringSQL фрагмент
conditionssource public
conditions( mixed $conditions , boolean $quoteValues true , boolean $where true , Model $Model null )
Создаёт условие WHERE, анализируя предоставленные данные условий. Если предоставлены массив или строка условий, эти условия будут проанализированы и обрамлены кавычками. Если предоставлен булево значение, оно будет преобразовано в целочисленное условие. Null вернёт 1 = 1.
Результаты этого метода хранятся в кэше памяти. Это улучшает производительность, но из-за того, что метод использует алгоритм хэширования, могут быть коллизии. Установка DboSource::$cacheMethods в false отключит кэш памяти.
Параметры
- смешанное
$conditions - Массив или строка условий, или любое значение.
- boolean
$quoteValuesнеобязательно true - Если true, значения должны быть обрамлены кавычками
- boolean
$whereнеобязательно true - Если true, к возвращаемому значению будет добавлен "WHERE "
-
Model$Modelнеобязательно null - Ссылка на экземпляр объекта модели, выполняющего запрос
Возвращаемое значение
stringSQL фрагмент
createsource public
create( Model $Model , array $fields null , array $values null )
Создание записи в базе данных
Параметры
-
Model$Model - Объект модели, для которой предназначена запись.
- массив
$fieldsнеобязательно null - Массив имён полей для вставки. Если null, будет использоваться $Model->data для генерации имён полей.
- массив
$valuesнеобязательно null - Массив значений с ключами, соответствующими полям. Если null, будет использоваться $Model->data для генерации значений.
Возвращаемое значение
booleanУспех
Переопределяет
DataSource::create() createSchemasource public
createSchema( CakeSchema $schema , string $tableName null )
Генерирует схему базы данных для данного объекта Schema
Параметры
-
CakeSchema$schema - Экземпляр подкласса CakeSchema
- строка
$tableNameнеобязательно null - Необязательно. Если указано, будет сгенерировано только имя указанной таблицы. В противном случае генерируются все таблицы, определённые в схеме.
Возвращаемое значение
stringстрока
defaultConditionssource public
defaultConditions( Model $Model , string|array|boolean $conditions , boolean $useAlias true )
Создаёт набор стандартных условий из модели, если $conditions равен null или пуст. Если условия заданы, они будут возвращены. Если модель не существует, и условия не были предоставлены, будет возвращено null или false в зависимости от входного значения.
Параметры
-
Model$Model - Модель, для которой необходимо получить условия.
- string|array|boolean
$conditions - Массив условий, строка условий, null или false. Если это массив или строка условий, эти условия будут возвращены. В других случаях будет проверяться существование модели. Если модель не найдена, будет возвращено null или false, в зависимости от входного значения.
- boolean
$useAliasнеобязательно true - Использовать псевдонимы моделей вместо имён таблиц при формировании условий
Возвращает
mixedЛибо null, false, $conditions или массив стандартных условий.
См. также
DboSource::update()DboSource::conditions()dropSchemasource public
dropSchema( CakeSchema $schema , string $table null )
Генерирует оператор "drop table" для заданного объекта Schema.
Параметры
-
CakeSchema$schema - Экземпляр подкласса CakeSchema
- string
$tableнеобязательно null - Необязательно. Если указано, будет сгенерировано только имя указанной таблицы. В противном случае будут сгенерированы все таблицы, определённые в схеме.
Возвращает
stringстрока
executesource public
execute( string $sql , array $options array() , array $params array() )
Выполняет запрос к базе данных с заданным SQL-заявлением и получает некоторые метаданные о результате (затронутые строки, время выполнения, ошибки, количество строк в наборе результатов). Запрос также регистрируется. Если Configure::read('debug') установлено, лог отображается всегда, иначе — только при ошибках.
Опции
- log - Будет ли запрос записан в кэш.
Параметры
- string
$sql - SQL-запрос
- array
$optionsнеобязательно array() - Опции для выполнения запроса.
- array
$paramsнеобязательно array() - Значения для связывания с запросом.
Возвращает
mixedРесурс или объект, представляющий набор результатов, или false при ошибке
expressionsource public
expression( string $expression )
Возвращает объект для представления выражения базы данных в запросе. Объекты выражения не проверяются и не экранируются.
Параметры
- string
$expression - Произвольное SQL-выражение, которое нужно вставить в запрос.
Возвращает
stdClassОбъект, представляющий выражение базы данных, которое будет использоваться в запросе
fetchAllsource public
fetchAll( string $sql , array|boolean $params array() , array $options array() )
Возвращает массив всех строк результата для данного SQL-запроса.
Возвращает false, если ни одной строки не найдено.
Опции
-
cache- Возвращает кэшированную версию запроса, если она существует, и сохраняет результат в кэше. Это кэш не постоянный и существует только для одного запроса. По умолчанию значение равно true. Если вы напрямую вызываете этот метод, вы можете отключить кэширование, установив $options вfalse
Параметры
- string
$sql - SQL-запрос
- array|boolean
$paramsнеобязательно array() - Либо параметры, которые будут связаны как значения для SQL-запроса, либо булево значение для управления кэшированием запросов.
- array
$optionsнеобязательно array() - Дополнительные параметры для запроса.
Возвращает
boolean|arrayМассив строк набора результатов или false, если строк нет.
fetchAssociatedsource public
fetchAssociated( Model $Model , string $query , array $ids )
Получение ассоциаций 'hasMany'.
Это просто прокси для обеспечения обратной совместимости.
Параметры
-
Model$Model - Основной объект модели.
- string
$query - Шаблон запроса ассоциации.
- array
$ids - Массив идентификаторов связанных записей.
Возвращает
arrayРезультаты ассоциаций.
См. также
DboSource::_fetchHasMany()fetchRowsource public
fetchRow( string $sql null )
Возвращает строку из текущего набора результатов в виде массива.
Параметры
- string
$sqlнеобязательно null - SQL-запрос для выполнения.
Возвращает
arrayИзвлеченная строка в виде массива
fetchVirtualFieldsource public
fetchVirtualField( array $result )
Изменяет массив $result, чтобы разместить виртуальные поля в записи модели, к которой они относятся.
Параметры
- array
$result - $result Ссылка на извлеченную строку
fieldsource public
field( string $name , string $sql )
Возвращает единственное поле из первой строки результатов для заданного SQL-запроса, или false, если результат пуст.
Параметры
- string
$name - Имя поля, которое нужно получить.
- string
$sql - SQL-запрос.
Возвращает
mixedЗначение считанного поля, или false, если не найдено.
fieldssource public
fields( Model $Model , string $alias null , mixed $fields array() , boolean $quote true )
Генерирует список полей для SQL-запроса.
Параметры
-
Model$Model - Модель, для которой нужны поля.
- string
$aliasнеобязательно null - Псевдоним имени таблицы
- mixed
$fieldsнеобязательно array() - Предоставленный список полей.
- boolean
$quoteнеобязательно true - Если false, возвращает массив полей без кавычек
Возвращает
arrayмассив
flushMethodCachesource public
flushMethodCache( )
Очищает кэши методов. Эти кэши используются DboSource::name() и DboSource::conditions()
fullTableNamesource public
fullTableName( Model|string $model , boolean $quote true , boolean $schema true )
Получение полного имени таблицы, включая префикс
Параметры
-
Model|string$model - Либо объект модели, либо строка с именем таблицы.
- boolean
$quoteнеобязательно true - Нужно ли заключать имя таблицы в кавычки.
- boolean
$schemaнеобязательно true - Нужно ли включать имя схемы.
Возвращает
stringПолное имя таблицы в кавычках
generateAssociationQuerysource public
generateAssociationQuery( Model $Model , Model|null $LinkModel , string $type , string $association , array $assocData , array $queryData , boolean $external )
Генерирует запрос или часть запроса для одной модели или двух связанных моделей.
Строит строку, содержащую шаблон SQL-запроса.
Параметры
-
Model$Model - Основной объект модели.
-
Model|null$LinkModel - Связанный объект модели.
- string
$type - Тип ассоциации, один из типов ассоциации модели, например, hasMany.
- string
$association - Имя ассоциации.
- array
$assocData - Данные ассоциации.
- array
$queryData - $queryData Массив данных запроса, содержащий ключи, аналогичные ключам в Model::find().
- boolean
$external - Является ли запрос ассоциации для внешнего источника данных.
Возвращаемое значение
mixedСтрока, представляющая запрос. True, если $external равен false, а ассоциация $type равна 'hasOne' или 'belongsTo'.
getConnectionsource public
getConnection( )
Получить базовый объект соединения.
Возвращаемое значение
PDOPDO
getConstraintsource public
getConstraint( string $type , Model $Model , Model $LinkModel , string $association , array $assocData , string $association2 null )
Возвращает массив условий для ограничения между двумя моделями.
Параметры
- string
$type - Тип ассоциации.
-
Model$Model - Основной объект модели.
-
Model$LinkModel - Связанный объект модели.
- string
$association - Имя ассоциации.
- array
$assocData - Данные ассоциации.
- string
$association2необязательно null - Имя ассоциации HABTM.
Возвращаемое значение
arrayМассив условий, определяющих ограничение между $Model и $LinkModel.
getLogsource public
getLog( boolean $sorted false , boolean $clear true )
Получить журнал запросов в виде массива.
Параметры
- boolean
$sortedнеобязательно false - Получить запросы, отсортированные по времени выполнения, по умолчанию false.
- boolean
$clearнеобязательно true - Если True, существующий журнал будет очищен.
Возвращаемое значение
arrayМассив выполненных запросов в виде массива
getQueryCachesource public
getQueryCache( string $sql , array $params array() )
Возвращает результат SQL-запроса, если он уже кэширован.
Параметры
- string
$sql - SQL-запрос.
- array
$paramsнеобязательно array() - Параметры запроса, связанные в виде значений.
Возвращаемое значение
mixedРезультаты запроса, если он кэширован, в противном случае false.
getVersionsource public
getVersion( )
Получает строку версии сервера базы данных.
Возвращаемое значение
stringВерсия базы данных
groupsource public
group( string|array $fields , Model $Model null )
Создать SQL-оператор GROUP BY.
Параметры
- string|array
$fields - Поля GROUP BY.
-
Model$Modelнеобязательно null - Модель для получения полей GROUP BY.
Возвращаемое значение
stringОператор GROUP BY или null.
hasAnysource public
hasAny( Model $Model , string $sql )
Проверяет, содержит ли указанная таблица записи, соответствующие указанному SQL.
Параметры
-
Model$Model - Модель для поиска.
- string
$sql - SQL-оператор WHERE (только условие, без "WHERE").
Возвращаемое значение
booleanTrue, если таблица содержит соответствующую запись, иначе false.
hasResultsource public
hasResult( )
Проверяет, является ли результат допустимым.
Возвращаемое значение
booleanTrue, если результат допустим, иначе false.
identifiersource public
identifier( string $identifier )
Возвращает объект для представления идентификатора базы данных в запросе. Объекты выражений не проверяются на безопасность и не экранируются.
Параметры
- string
$identifier - SQL-выражение, используемое в качестве идентификатора.
Возвращаемое значение
stdClassОбъект, представляющий идентификатор базы данных для использования в запросе.
insertMultisource public
insertMulti( string $table , array $fields , array $values )
Вставляет несколько значений в таблицу.
Параметры
- string
$table - Таблица, в которую вставляются данные.
- array
$fields - Массив имен полей/столбцов, которые вставляются.
- array
$values - Массив значений для вставки. Значения должны быть массивом строк. Каждая строка должна содержать значения, имеющие ключи по имени столбца. Каждая строка должна содержать значения в том же порядке, что и в $fields.
Возвращаемое значение
booleanbool
introspectTypesource public
introspectType( string $value )
Определяет тип данных массива.
Параметры
- string
$value - Значение для определения типа данных.
Возвращаемое значение
stringstring
isConnectedsource public
isConnected( )
Проверяет, подключен ли источник к базе данных.
Возвращаемое значение
booleanTrue, если база данных подключена, иначе false.
lastAffectedsource public
lastAffected( mixed $source null )
Возвращает количество затронутых строк в предыдущей операции с базой данных. Если предыдущей операции не было, возвращает false.
Параметры
- mixed
$sourceнеобязательно null - Источник для проверки.
Возвращаемое значение
integerКоличество затронутых строк.
Переопределяет
DataSource::lastAffected() lastErrorsource public
lastError( PDOStatement $query null )
Возвращает отформатированное сообщение об ошибке от предыдущей операции с базой данных.
Параметры
- PDOStatement
$queryнеобязательно null - запрос для извлечения ошибки, если она есть
Возвращаемое значение
stringСообщение об ошибке с номером ошибки.
lastInsertIdsource public
lastInsertId( mixed $source null )
Возвращает ID, сгенерированный в ходе предыдущей операции INSERT.
Параметры
- mixed
$sourceнеобязательно null - Источник для получения ID.
Возвращаемое значение
mixedmixed
Переопределяет
DataSource::lastInsertId() lastNumRowssource public
lastNumRows( mixed $source null )
Возвращает количество строк в предыдущем наборе результатов. Если предыдущий набор результатов не существует, возвращает false.
Параметры
- mixed
$sourceнеобязательно null - Не используется
Возвращает
integerКоличество строк в наборе результатов
Переопределяет
DataSource::lastNumRows() lengthsource public
length( string $real )
Возвращает длину описания столбца в базе данных, или null, если длина не указана.
Параметры
- string
$real - Реальный тип столбца на уровне базы данных (например, "varchar(255)")
Возвращает
mixedЦелое число или строка, представляющая длину столбца, или null для неизвестной длины.
limitsource public
limit( integer $limit , integer $offset null )
Возвращает оператор LIMIT в формате, соответствующем конкретной базе данных.
Параметры
- integer
$limit - Предел возвращаемых результатов
- integer
$offsetнеобязательно null - Смещение, с которого начинаются результаты
Возвращает
stringОператор SQL LIMIT/OFFSET
logQuerysource public
logQuery( string $sql , array $params array() )
Записывает заданный SQL-запрос.
Параметры
- string
$sql - SQL-запрос
- array
$paramsнеобязательно array() - Значения, привязанные к запросу (подготовленные запросы)
namesource public
name( mixed $data )
Возвращает экранированное имя $data для использования в SQL-запросе. Удаляет поля из SQL-функций перед экранированием.
Результаты этого метода хранятся в кэше памяти. Это повышает производительность, но из-за того, что метод использует алгоритм хеширования, могут возникать коллизии. Установка DboSource::$cacheMethods в false отключит кэш памяти.
Параметры
- mixed
$data - Строка со столбцом для экранирования. Массив столбцов для экранирования или объект из DboSource::expression() или DboSource::identifier()
Возвращает
stringSQL-поле
ordersource public
order( array|string $keys , string $direction 'ASC' , Model $Model null )
Возвращает предложение ORDER BY в виде строки.
Параметры
- array|string
$keys - Ссылка на поле (например, Post.title)
- string
$directionнеобязательно 'ASC' - Направление (ASC или DESC)
-
Model$Modelнеобязательно null - Ссылка на модель (используется для поиска виртуального поля)
Возвращает
stringПредложение ORDER BY
prepareFieldssource public
prepareFields( Model $Model , array $queryData )
Подготавливает поля, необходимые для SQL-запроса.
Если поля не заданы, возвращаются все поля $Model.
Параметры
-
Model$Model - Модель для подготовки.
- array
$queryData - Массив данных запроса, содержащий ключи, аналогичные Model::find().
Возвращает
arrayМассив, содержащий SQL-поля.
querysource public
query( )
Абстракция запроса к источнику данных
Возвращает
resourceИдентификатор ресурса результата.
queryAssociationsource public
queryAssociation( Model $Model , Model $LinkModel , string $type , string $association , array $assocData , array $queryData , boolean $external , array $resultSet , integer $recursive , array $stack )
Запросы ассоциаций.
Используется для получения результатов для рекурсивных моделей.
- Ассоциации 'hasMany' без установленного предела: Выполнение, фильтрация и слияние выполняются рекурсивно для каждого уровня.
- Ассоциации 'hasAndBelongsToMany': Выполнение и фильтрация выполняются независимо от установленного (рекурсивного) уровня.
Параметры
-
Model$Model - Основной объект модели.
-
Model$LinkModel - Объект связанной модели.
- string
$type - Тип ассоциации, один из типов ассоциации модели, например, hasMany.
- string
$association - Имя ассоциации.
- array
$assocData - Данные ассоциации.
- array
$queryData - $queryData - массив данных запроса, содержащий ключи, аналогичные Model::find().
- boolean
$external - Является ли запрос ассоциации на внешнем источнике данных.
- array
$resultSet - $resultSet - существующие результаты.
- integer
$recursive - Количество уровней ассоциации.
- array
$stack - Список объединённых моделей.
Возвращает
mixedсмешанный тип
Исключения
CakeExceptionпри невозможности создания результатов.
rawQuerysource public
rawQuery( string $sql , array $params array() )
Выполняет заданный SQL-запрос.
Параметры
- string
$sql - SQL-запрос
- array
$paramsнеобязательно array() - Дополнительные параметры запроса.
Возвращает
mixedРесурс или объект, представляющий набор результатов, или false при ошибке.
readsource public
read( Model $Model , array $queryData array() , integer $recursive null )
«Чтение» в CRUD
Считывает запись(и) из базы данных.
Параметры
-
Model$Model - Объект модели, для которой выполняется запрос.
- array
$queryDataнеобязательно array() - Массив данных запроса, содержащий ключи, аналогичные Model::find().
- integer
$recursiveнеобязательно null - Количество уровней ассоциации
Возвращает
mixedfalse при ошибке. Массив результатов при успехе.
Переопределяет
DataSource::read() readTableParameterssource public
readTableParameters( string $name )
Считывание дополнительных параметров таблицы
Параметры
- string
$name - Имя таблицы для чтения.
Возвращает
arrayмассив
reconnectsource public
reconnect( array $config array() )
Подключается к серверу базы данных с необязательными новыми настройками.
Параметры
- array
$configнеобязательно array() - Массив, определяющий новые настройки конфигурации
Возвращает
booleanTrue при успехе, false при неудаче
renderJoinStatementsource public
renderJoinStatement( array $data )
Отображает окончательное SQL-предложение JOIN.
Параметры
- array
$data - Данные для генерации предложения JOIN.
Возвращает
stringстрока
renderStatementsource public
renderStatement( string $type , array $data )
Отображает окончательное SQL-предложение, объединяя составные части в правильном порядке.
Параметры
- string
$type - Тип выполняемого запроса. Например, select, create, update, delete, schema, alter.
- array
$data - Массив данных для вставки в запрос.
Возвращает
string|nullОтображённое SQL-выражение для выполнения, в противном случае null.
resetSequencesource public
resetSequence( string $table , string $column )
Сбросьте последовательность на основе значения MAX() столбца. Полезно для сброса последовательностей после использования insertMulti().
Этот метод должен быть реализован источниками данных, которые требуют использования последовательностей.
Параметры
- строка
$table - Имя таблицы для обновления.
- строка
$column - Столбец, используемый при сбросе значения последовательности.
Возвращает
booleanУспех.
resolveKeysource public
resolveKey( Model $Model , string $key , string $assoc null )
Возвращает ключ, отформатированный как строка Model.fieldname (например, Post.title или Country.name).
Параметры
-
Model$Model - Модель, для которой требуется ключ.
- строка
$key - Поле ключа.
- строка
$assocнеобязательно null - Имя ассоциации.
Возвращает
stringстрока
Переопределяет
DataSource::resolveKey() rollbacksource public
rollback( )
Отменить транзакцию
Возвращает
booleanTrue при успехе, false при ошибке (например, если база данных/модель не поддерживает транзакции или транзакция не началась).
Переопределяет
DataSource::rollback() showLogsource public
showLog( boolean $sorted false )
Выводит содержимое журнала запросов. Если среда не CLI, будет отображен элемент sql_log. Если среда CLI, будет создан текстовый журнал.
Параметры
- логический
$sortedнеобязательно false - Получить запросы, отсортированные по времени выполнения, по умолчанию false.
truncatesource public
truncate( Model|string $table )
Удаляет все записи в таблице и сбрасывает счетчик автоинкрементного первичного ключа, если применимо.
Параметры
-
Model|строка$table - Строка или класс модели, представляющий таблицу для усечения
Возвращает
booleanSQL-запрос TRUNCATE TABLE, false, если неприменимо.
Методы, унаследованные от DataSource
_cacheDescriptionsource protected
_cacheDescription( string $object , mixed $data null )
Кэширование описания DataSource
Параметры
- строка
$object - Имя объекта (модели) для кэширования
- смешанный
$dataнеобязательно null - Описание модели, обычно строка или массив
Возвращает
mixedсмешанный
insertQueryDatasource public
insertQueryData( string $query , array $data , string $association , Model $Model , array $stack )
Заменяет {$__cakeID__$} и {$__cakeForeignKey__$} плейсхолдеры в данных запроса.
Параметры
- строка
$query - Строка запроса, требующая замены.
- массив
$data - Массив данных со значениями, которые будут вставлены в плейсхолдеры.
- строка
$association - Имя модели ассоциации, которая заменяется.
-
Model$Model - Экземпляр модели.
- массив
$stack - Стек контекста.
Возвращает
mixedСтрока данных запроса с замененными плейсхолдерами или false при ошибке.
setConfigsource public
setConfig( array $config array() )
Устанавливает конфигурацию для DataSource. Объединяет информацию $config с _baseConfig и существующим свойством $config.
Параметры
- массив
$configнеобязательно массив() - Массив конфигурации
Методы, унаследованные от Object
_mergeVarssource protected
_mergeVars( array $properties , string $class , boolean $normalize true )
Объединяет свойство $property этого объекта со свойством в определении $class. Значение этого класса для свойства будет объединено поверх $class'
Это обеспечивает часть DRY-магии CakePHP. Если вы хотите отключить его, переопределите этот метод как пустую функцию.
Параметры
- массив
$properties - Имя свойств для объединения.
- строка
$class - Класс для объединения свойства с.
- логический
$normalizeнеобязательно true - Установите в true, чтобы запустить свойства через Hash::normalize() перед объединением.
_setsource protected
_set( array $properties array() )
Позволяет установить несколько свойств объекта в одной строке кода. Будут установлены только свойства, которые являются частью объявления класса.
Параметры
- массив
$propertiesнеобязательно массив() - Ассоциативный массив, содержащий свойства и соответствующие значения.
_stopsource protected
_stop( integer|string $status 0 )
Останавливает выполнение текущего скрипта. Оборачивает exit(), что упрощает тестирование.
Параметры
- целое число|строка
$statusнеобязательно 0 - см. http://php.net/exit для значений
dispatchMethodsource public
dispatchMethod( string $method , array $params array() )
Вызывает метод этого объекта с заданными параметрами. Предоставляет объектно-ориентированную оболочку для call_user_func_array
Параметры
- строка
$method - Имя вызываемого метода
- массив
$paramsнеобязательно массив() - Список параметров для использования при вызове $method
Возвращает
mixedВозвращает результат вызова метода
logsource public
log( string $msg , integer $type LOG_ERR , null|string|array $scope null )
Удобный метод для записи сообщения в CakeLog. Подробнее о записи в журналы см. в CakeLog::write().
Параметры
- строка
$msg - Сообщение журнала
- целое число
$typeнеобязательно LOG_ERR - Константа типа ошибки. Определена в app/Config/core.php.
- null|строка|массив
$scopeнеобязательно null - Область(и), в которой создается сообщение журнала. См. CakeLog::config(), чтобы узнать больше о областях ведения журнала.
Возвращает
booleanУспех записи в журнал
requestActionsource public
requestAction( string|array $url , array $extra array() )
Вызывает метод контроллера из любого места. Может использоваться для соединения контроллеров или связывания плагинов с основным приложением. requestAction может использоваться для возврата отрисованных представлений или получения возвращаемого значения от действий контроллера.
Под капотом этот метод использует Router::reverse() для преобразования параметра $url в строку URL. Вы должны использовать форматы URL, совместимые с Router::reverse().
Передача данных POST и GET
Данные POST и GET могут быть смоделированы в requestAction. Используйте $extra['url'] для данных GET. Параметр $extra['data'] позволяет моделировать данные POST.
Параметры
- строка|массив
$url - Строка или массив URL. В отличие от других массивов URL в CakePHP, этот URL не будет автоматически обрабатывать переданные и именованные аргументы в параметре $url.
- массив
$extraнеобязательно массив() - если массив включает ключ "return", устанавливает AutoRender в true. Также может использоваться для отправки данных GET/POST и именованных/переданных аргументов.
Возвращает
mixedБулево значение true или false при успехе/ошибке или содержимое отрисованного действия, если в $extra установлен ключ 'return'.
toStringsource public
toString( )
Преобразование объекта в строку. Каждый класс может переопределить этот метод по мере необходимости.
Возвращаемое значение
stringНазвание этого класса
Краткое описание свойств
Наследованные свойства от DboSource
$_methodCacheChangesource
protected boolean
Указывает, были ли изменения в кэшированных результатах методов этого класса. Это будет использоваться для хранения в более персистентном кэше.
false $_queriesLogMaxsource
protected integer
Максимальное количество элементов в журнале запросов.
Это необходимо, чтобы предотвратить чрезмерное использование памяти журналом запросов.
200 $_queryCachesource
protected array
Кэширует сериализованные результаты выполненных запросов.
array() $_queryDefaultssource
protected array
Поле по умолчанию, используемые DBO.
array( 'conditions' => array(), 'fields' => null, 'table' => null, 'alias' => null, 'order' => null, 'limit' => null, 'joins' => array(), 'group' => null, 'offset' => null )
$_sqlOpssource
protected array
Набор допустимых операций SQL, используемых в операторе WHERE.
array('like', 'ilike', 'rlike', 'or', 'not', 'in', 'between', 'regexp', 'similar to')
$affectedsource
public string
Строка, хранящая количество строк, затронутых последней операцией SQL.
null $aliassource
public string
Ключевое слово базы данных, используемое для присвоения псевдонимов идентификаторам.
'AS ' $cacheMethodssource
public boolean
Включает или отключает кеширование результатов DboSource::name() и DboSource::conditions() в кэше памяти. Установите в значение false, чтобы отключить использование кэша памяти.
true $indexsource
public array
Определение индекса: стандартный, первичный, индекс, уникальный.
array('PRI' => 'primary', 'MUL' => 'index', 'UNI' => 'unique')
$methodCachesource
public static array
Кэширует результаты операций разбора запросов. Кэшированные результаты как для DboSource::name(), так и для DboSource::conditions() хранятся здесь. Кэширование методов использует md5(). Если у вас проблемы с коллизиями, установите DboSource::$cacheMethods в значение false.
array() $useNestedTransactionssource
public boolean
Флаг для поддержки вложенных транзакций. Если он установлен в значение false, вы сможете использовать методы транзакции (begin/commit/rollback), но будет выполнена только глобальная транзакция.
false $virtualFieldSeparatorsource
public string
Разделитель строк для составления виртуальных полей.
'__' Свойства, унаследованные от DataSource
$_descriptionssource
protected array
Содержит ссылки на описания, загруженные источником данных.
array() $_transactionStartedsource
protected boolean
Находится ли этот источник данных в середине транзакции.
false $cacheSourcessource
public boolean
Должны ли кешироваться данные источника, такие как доступные таблицы и описания схем.
true
© 2005–2016 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.
http://api.cakephp.org/2.7/class-Mysql.html