Класс DboSource
DboSource
Создаёт объекты-потомки DBO из заданной конфигурации подключения к базе данных
- CakeObject
-
DataSource
-
DboSource
Прямые подклассы
Авторские права: Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
Лицензия: MIT License
Расположение: Cake/Model/Datasource/DboSource.php
Краткое описание свойств
-
$_connectionprotectedСсылка на физическое подключение к этой DataSourcearray -
$_methodCacheChangeprotectedbooleanУказывает, были ли изменения в кэшированных результатах методов этого класса. Это будет использоваться для сохранения в более постоянном кэше
-
$_queriesCntprotectedКоличество запросов.integer -
$_queriesLogprotectedЖурнал запросов, выполненных этой DataSourcearray -
$_queriesLogMaxprotectedМаксимальное количество элементов в журнале запросовinteger -
$_queriesTimeprotectedОбщее время выполнения всех запросов.integer -
$_queryCacheprotectedКэширует сериализованные результаты выполненных запросовarray -
$_queryDefaultsprotectedПоле по умолчанию, используемое DBOarray -
$_resultprotectedРезультатarray -
$_sqlBoolOpsprotectedНабор допустимых булевых операций SQL, используемых в операторе WHEREarray -
$_sqlOpsprotectedНабор допустимых операций SQL, используемых в операторе WHEREarray -
$_transactionNestingprotectedУровень вложенных транзакцийinteger -
$affectedpublicСтрока, содержащая количество строк, затронутых последней операцией SQL.string -
$aliaspublicКлючевое слово базы данных, используемое для присвоения псевдонимов идентификаторам.string -
$cacheMethodspublicbooleanКэшировать или нет результаты DboSource::name() и DboSource::fields() в кэше памяти. Установите в false, чтобы отключить использование кэша памяти.
-
$configKeyNamepublicИмя ключа конфигурации DataSourcestring -
$descriptionpublicСтрока описания этого источника данных базы данных.string -
$endQuotepublicКонечный символ, используемый этой DataSource для кавычек идентификаторов.string -
$fieldParameterspublicСписок параметров дополнительных полей, специфичных для движка, используемых при создании таблицыarray -
$fullDebugpublicПечатать полную отладочную информацию о запросе?boolean -
$indexpublicопределение индекса, стандартный cake, первичный, индекс, уникальныйarray -
arrayКэширует результаты операций анализа запросов. Кэшированные результаты как для DboSource::name(), так и для DboSource::fields() будут храниться здесь.
-
$numRowspublicКоличество строк в текущем наборе результатовinteger -
$startQuotepublicНачальный символ, используемый этой DataSource для кавычек идентификаторов.string -
$tableParameterspublicСписок параметров таблиц, специфичных для движка, используемых при создании таблицыarray -
$tookpublicВремя выполнения последнего запросаinteger -
$useNestedTransactionspublicbooleanФлаг для поддержки вложенных транзакций. Если он установлен в false, вы сможете использовать методы транзакций (begin/commit/rollback), но будет выполнена только глобальная транзакция.
-
$virtualFieldSeparatorpublicСтрока-разделитель для компоновки virtualFieldstring
Унаследованные свойства
Краткое описание методов
- __construct() publicКонструктор
- __destruct() publicИспользуется для хранения результатов метода in-memory methodCache в кэше
- _beginNested() protectedНачать вложенную транзакцию
- _buildFieldParameters() protectedПостроить параметры поля в позиции
- _commitNested() protectedЗавершить вложенную транзакцию
- _constructVirtualFields() protectedПреобразует виртуальные поля модели в SQL-выражения для последующего извлечения
- _dropTable() protectedСгенерировать оператор "удаления таблицы" для одной таблицы
- _execute() protectedВыполнить заданное SQL-утвеждение.
- _fetchHasAndBelongsToMany() protectedПолучить ассоциации 'hasAndBelongsToMany'.
- _fetchHasMany() protectedПолучить ассоциации 'hasMany'.
- _filterResults() protectedПропускает результаты ассоциаций через фильтры afterFind соответствующей модели.
- _filterResultsInclusive() protectedПропускает результаты ассоциаций через фильтры afterFind соответствующей модели.
- _getJoins() protectedВозвращает массив SQL-условий JOIN из ассоциаций модели.
- _matchRecords() protected
Получает список идентификаторов записей для заданных условий. Используется для многозаписичных обновлений и удалений в базах данных, которые не поддерживают псевдонимы в запросах UPDATE/DELETE.
- _mergeAssociation() protectedОбъединить ассоциацию merge в данные
- _mergeConditions() protectedОбъединяет смешанный набор условий типа строка/массив.
- _mergeHasMany() protectedОбъединить результаты ассоциаций 'hasMany'.
- _parseKey() protected
Извлекает идентификатор Model.field и оператор SQL-условия из строки, форматирует и вставляет значения, и собирает их в SQL-фрагмент.
- _prepareUpdateFields() protectedЦитирует и подготавливает поля и значения для оператора SQL UPDATE
- _quoteFields() protectedЦитирует поля Model.
- _quoteMatchedField() protectedВспомогательная функция для цитирования совпадений
Model.fieldsиз вызова preg_replace_callback - _rollbackNested() protectedОткатить вложенную транзакцию
- _scrubQueryData() protectedВспомогательный метод для удаления метаданных запроса в заданном массиве данных.
- _writeQueryCache() protectedЗаписать новый ключ для кэша запросов SQL в памяти
- alterSchema() publicСгенерировать синтаксис изменения из CakeSchema::compare()
- begin() publicНачать транзакцию
- boolean() publicПеревод между значениями PHP boolean и базами данных (имитированными) boolean
- buildAssociationQuery() publicПостроение SQL-запроса.
- buildColumn() publicСгенерировать строку схемы колонки в формате, поддерживаемом базой данных
- buildIndex() publicФорматирование индексов для создания таблицы.
- buildJoinStatement() publicСтроит и генерирует условие JOIN из массива. Обрабатывает окончательную очистку перед преобразованием.
- buildStatement() publicСтроит и генерирует SQL-запрос из массива. Обрабатывает окончательную очистку перед преобразованием.
- buildTableParameters() publicФорматирование параметров для создания таблицы
- cacheMethod() public
Кэшировать значение в methodCaches. Будет учитывать значение DboSource::$cacheMethods. Получит значение из кэша, если $value равно null.
- cacheMethodFilter() public
Фильтры, применяемые к результатам
nameиfields. Если фильтр для данного метода не возвращаетtrue, то результат не добавляется в кэш памяти. - cacheMethodHasher() publicХеширование заданного значения.
- calculate() publicВозвращает SQL-вычисление, например COUNT() или MAX()
- close() publicОтключает базу данных, закрывает соединение и сообщает, что соединение закрыто.
- commit() publicЗавершить транзакцию
- conditionKeysToString() publicСоздаёт условие WHERE, обрабатывая массив условий. Используется в DboSource::conditions().
- conditions() public
Создаёт условие WHERE, обрабатывая данные условий. Если предоставлены массив или строка условий, эти условия будут обработаны и приведены к кавычкам. Если предоставлен булево значение, оно будет приведено к целому числу как условие. Null вернёт 1 = 1.
- create() public"C" в CRUD
- createSchema() publicСгенерировать схему базы данных в формате, поддерживаемом базой данных, для заданного объекта Schema
- defaultConditions() public
Создаёт стандартный набор условий из модели, если $conditions равен null/пустому. Если условия предоставлены, то они будут возвращены. Если модель не существует, и условия не были предоставлены, будет возвращён null или false, в зависимости от входных данных.
- delete() public
Генерирует и выполняет оператор SQL DELETE. Для баз данных, которые не поддерживают псевдонимы в операторах UPDATE.
- disconnect() publicОтключиться от базы данных.
- dropSchema() publicСгенерировать оператор "удаления таблицы" для заданного объекта Schema
- execute() public
Выполняет запрос к базе данных с заданным SQL-утвеждением и получает некоторые метаданные о результате (затронутые строки, время выполнения, ошибки, количество строк в наборе результатов). Запрос также регистрируется. Если Configure::read('debug') задано, то лог отображается всегда, иначе только при ошибках.
- expression() public
Возвращает объект для представления выражения базы данных в запросе. Объекты выражений не проверяются и не экранируются.
- fetchAll() publicВозвращает массив всех строк результатов для заданного SQL-запроса.
- fetchAssociated() publicПолучить ассоциации 'hasMany'.
- fetchResult() publicПолучить следующую строку из текущего набора результатов
- fetchRow() publicВозвращает строку из текущего набора результатов в виде массива
- fetchVirtualField() publicИзменяет массив $result, чтобы поместить виртуальные поля в запись модели, где они принадлежат
- field() publicВозвращает одно поле первой строки результатов для заданного SQL-запроса или false, если пусто.
- fields() publicГенерирует список полей SQL-запроса.
- flushMethodCache() public
Очищает кэш методов. Эти кэши используются методами DboSource::name() и DboSource::conditions()
- flushQueryCache() publicОчищает кэш запросов.
- fullTableName() publicПолучает полное имя таблицы, включая префикс
- generateAssociationQuery() publicГенерирует запрос или часть запроса для одной модели или двух связанных моделей.
- getConnection() publicПолучает базовый объект подключения.
- getConstraint() publicВозвращает массив условий для ограничения между двумя моделями.
- getLockingHint() publicВозвращает подсказку блокировки для данного режима.
- getLog() publicПолучает журнал запросов в виде массива.
- getQueryCache() publicВозвращает результат SQL-запроса, если он уже кэширован.
- getVersion() publicПолучает строку версии сервера базы данных.
- group() publicСоздаёт SQL-оператор GROUP BY.
- hasAny() publicПроверяет, содержит ли указанная таблица записи, соответствующие указанному SQL-запросу.
- hasResult() publicПроверяет, является ли результат валидным.
- having() publicСоздаёт SQL-оператор HAVING.
- identifier() public
Возвращает объект для представления идентификатора базы данных в запросе. Объекты выражения не проверяются на безопасность и не экранируются.
- index() publicВозвращает массив индексов в заданном источнике данных.
- insertMulti() publicВставляет несколько значений в таблицу.
- introspectType() publicОпределяет тип данных массива.
- isConnected() publicПроверяет, подключён ли источник к базе данных.
- lastAffected() public
Возвращает количество затронутых строк в предыдущей операции с базой данных. Если предыдущей операции не было, возвращает false.
- lastError() publicВозвращает отформатированное сообщение об ошибке из предыдущей операции с базой данных.
- lastInsertId() publicВозвращает ID, сгенерированный в результате предыдущей операции INSERT.
- lastNumRows() public
Возвращает количество строк в предыдущем наборе результатов. Если предыдущего набора результатов не существует, возвращает false.
- length() publicПолучает длину описания столбца в формате базы данных или null, если длина отсутствует.
- limit() publicВозвращает оператор LIMIT в правильном формате для конкретной базы данных.
- logQuery() publicЗаписывает SQL-запрос в журнал.
- name() public
Возвращает строковое имя $data, заключённое в кавычки, для использования в SQL-запросе. Удаляет поля из SQL-функций перед заключением в кавычки.
- nestedTransactionSupported() publicПроверяет, поддерживает ли сервер вложенные транзакции.
- order() publicВозвращает оператор ORDER BY в виде строки.
- prepareFields() publicПодготавливает поля, необходимые для SQL-запроса.
- query() publicАбстракция запроса источника данных.
- queryAssociation() publicЗапрос для ассоциаций.
- rawQuery() publicВыполняет указанный SQL-запрос.
- read() publicОперация "Чтение" в CRUD.
- readTableParameters() publicЧтение дополнительных параметров таблицы.
- reconnect() publicПодключается к серверу базы данных с необязательными новыми настройками.
- renderJoinStatement() publicОтображает окончательный SQL-оператор JOIN.
- renderStatement() publicОтображает окончательный SQL-оператор, объединяя составные части в правильном порядке.
- resetSequence() public
Сбрасывает последовательность на основе значения MAX() для $column. Полезно для сброса последовательностей после использования insertMulti().
- resolveKey() publicВозвращает ключ, отформатированный как строка Model.fieldname (например, Post.title или Country.name).
- rollback() publicОткатывает транзакцию.
- showLog() public
Выводит содержимое журнала запросов. Если среда не CLI, отображается элемент sql_log. Если среда CLI, генерируется текстовый журнал.
- truncate() public
Удаляет все записи из таблицы и сбрасывает счётчик автоинкрементируемого первичного ключа, если применимо.
- update() public
Генерирует и выполняет SQL-оператор UPDATE для заданной модели, полей и значений. Для баз данных, которые не поддерживают псевдонимы в операторах UPDATE.
- value() publicВозвращает строку $data, заключённую в кавычки и экранированную, для использования в SQL-запросе.
Подробное описание методов
__construct()source public
__construct( array $config null , boolean $autoConnect true )
Конструктор
Параметры
- массив
$configнеобязательно null - Массив с информацией о конфигурации источника данных.
- логическое значение
$autoConnectнеобязательно true - Указывает, нужно ли автоматически подключаться к источнику данных.
Исключения
MissingConnectionExceptionесли подключение не может быть установлено.
Переопределяет
DataSource::__construct() __destruct()source public
__destruct( )
Используется для хранения в кэше результатов из метода in-memory methodCache
Переопределяет
DataSource::__destruct() _buildFieldParameters()source protected
_buildFieldParameters( string $columnString , array $columnData , string $position )
Строит параметры поля в определённом положении
Параметры
- строка
$columnString - Частично сформированная строка столбца
- массив
$columnData - Массив данных столбца.
- строка
$position - Тип позиции для использования. 'beforeDefault' или 'afterDefault' — типичные примеры
Возвращает
строкасформированное поле с добавленными параметрами поля.
_constructVirtualFields()source protected
_constructVirtualFields( Model $Model , string $alias , array $fields )
Преобразует виртуальные поля модели в выражения SQL для последующего извлечения.
Параметры
-
Model$Model - Модель, для которой нужно получить виртуальные поля.
- строка
$alias - Псевдоним имени таблицы.
- массив
$fields - Виртуальные поля, которые нужно использовать в запросе.
Возвращает
массив_dropTable()source protected
_dropTable( type $table )
Генерирует оператор «удаление таблицы» для отдельной таблицы.
Параметры
- тип
$table - Имя таблицы, которую нужно удалить.
Возвращает
строкаSQL-оператор удаления таблицы
_execute()source protected
_execute( string $sql , array $params array() , array $prepareOptions array() )
Выполняет заданный SQL-запрос.
Параметры
- строка
$sql - SQL-запрос
- массив
$paramsнеобязательно массив() - Список параметров, которые нужно привязать к запросу.
- массив
$prepareOptionsнеобязательно массив() - Параметры, которые нужно использовать в операторе prepare.
Возвращает
смешанный типPDOStatement, если запрос выполнен без проблем, true в случае успешного выполнения, false в случае ошибки, если запрос не возвращает строк, например, оператор CREATE, false в противном случае.
Исключения
PDOException_fetchHasAndBelongsToMany()source protected
_fetchHasAndBelongsToMany( Model $Model , string $query , array $ids , string $association )
Извлекает ассоциации «hasAndBelongsToMany».
Параметры
-
Model$Model - Объект модели-первичного ключа.
- строка
$query - Запрос ассоциации.
- массив
$ids - Массив идентификаторов связанных записей.
- строка
$association - Имя ассоциации.
Возвращает
массивРезультаты ассоциаций.
_fetchHasMany()source protected
_fetchHasMany( Model $Model , string $query , array $ids )
Извлекает ассоциации «hasMany».
Параметры
-
Model$Model - Объект модели-первичного ключа.
- строка
$query - Шаблон запроса ассоциации.
- массив
$ids - Массив идентификаторов связанных записей.
Возвращает
массивРезультаты ассоциаций.
_filterResults()source protected
_filterResults( array $resultSet , Model $Model , array $filtered array() )
Пропускает результаты ассоциации через фильтры afterFind соответствующей модели.
Первичная модель всегда исключается, поскольку фильтрация выполняется позже методом Model::_filterResults().
Параметры
- массив
$resultSet - $resultSet Ссылка на результат набора, который нужно отфильтровать.
-
Model$Model - Экземпляр модели для работы.
- массив
$filteredнеобязательно массив() - Список классов, которые уже отфильтрованы, их следует пропустить.
Возвращает
массивМассив результатов, отфильтрованных через $Model->afterFind.
_filterResultsInclusive()source protected
_filterResultsInclusive( array $resultSet , Model $Model , array $toBeFiltered array() )
Пропускает результаты ассоциации через фильтры afterFind соответствующей модели.
Аналогично DboSource::_filterResults(), но фильтрует только указанные модели. Первичная модель не может быть указана, поскольку этот вызов внутренне использует DboSource::_filterResults().
Параметры
- массив
$resultSet - $resultSet Ссылка на результат набора, который нужно отфильтровать.
-
Model$Model - Экземпляр модели для работы.
- массив
$toBeFilteredнеобязательно массив() - Список классов, которые нужно отфильтровать.
Возвращает
массивМассив результатов, отфильтрованных через $Model->afterFind.
_getJoins()source protected
_getJoins( Model $Model )
Возвращает массив SQL-условий JOIN из ассоциаций модели.
Параметры
-
Model$Model - Модель, для которой нужно получить условия JOIN.
Возвращает
массив_matchRecords()source protected
_matchRecords( Model $Model , mixed $conditions null )
Получает список идентификаторов записей для заданных условий. Используется для многозаписных обновлений и удалений в базах данных, которые не поддерживают псевдонимы в запросах UPDATE/DELETE.
Параметры
-
Model$Model - Модель, для которой нужно найти соответствующие записи.
- смешанный тип
$conditionsнеобязательно null - Условия для соответствия.
Возвращает
массивСписок идентификаторов записей
_mergeAssociation()source protected
_mergeAssociation( array $data , array $merge , string $association , string $type , boolean $selfJoin false )
Объединяет ассоциацию с данными
Параметры
- массив
$data - $data Данные для объединения.
- массив
$merge - $merge Данные для объединения.
- строка
$association - Имя ассоциации для объединения.
- строка
$type - Тип ассоциации.
- логическое значение
$selfJoinнеобязательно false - Является ли это самосвязью?
_mergeConditions()source protected
_mergeConditions( mixed $query , mixed $assoc )
Объединяет набор условий в строковом/массиве формате.
Параметры
- смешанный тип
$query - Запрос для объединения условий.
- смешанный тип
$assoc - Имена ассоциаций.
Возвращает
массив_mergeHasMany()source protected
_mergeHasMany( array $resultSet , array $assocResultSet , string $association , Model $Model )
Объединяет результаты ассоциаций 'hasMany'.
Примечание: эта функция также обрабатывает форматирование данных.
Параметры
- массив
$resultSet - $resultSet Данные для объединения.
- массив
$assocResultSet - Данные для объединения.
- строка
$association - Имя модели, которая объединяется.
-
Model$Model - Модель, к которой присоединяется.
_parseKey()source protected
_parseKey( string $key , mixed $value , Model $Model null )
Извлекает идентификатор Model.field и оператор условия SQL из строки, форматирует и вставляет значения, а затем составляет фрагмент SQL.
Параметры
- строка
$key - Фрагмент SQL-ключа, содержащий поле и необязательный оператор SQL
- смешанный тип
$value - Значение(я), которое нужно вставить в строку.
-
Model$Modelнеобязательно null - Объект модели, инициирующий запрос.
Возвращает
строка_prepareUpdateFields()source protected
_prepareUpdateFields( Model $Model , array $fields , boolean $quoteValues true , boolean $alias false )
Приводит к кавычкам и готовит поля и значения для оператора SQL UPDATE.
Параметры
-
Model$Model - Модель, для которой нужно подготовить поля.
- массив
$fields - Поля для обновления.
- логическое значение
$quoteValuesнеобязательно true - Если значения нужно привести к кавычкам или рассматривать как фрагменты SQL.
- логическое значение
$aliasнеобязательно false - Включить псевдоним модели в имя поля.
Возвращает
массивПоля и значения, приведенные к кавычкам и подготовленные
_quoteFields()source protected
_quoteFields( string $conditions )
Цитата Model.fields
Параметры
- строка
$conditions - Условие для цитирования.
Возвращает
строкаили false, если совпадений нет
_quoteMatchedField()source protected
_quoteMatchedField( string $match )
Вспомогательная функция для цитирования совпадений Model.fields из вызова preg_replace_callback
Параметры
- строка
$match - Совпавший фрагмент
Возвращает
строкацитируемая строка
_rollbackNested()source protected
_rollbackNested( )
Откат вложенной транзакции
Возвращает
булево значение_scrubQueryData()source protected
_scrubQueryData( array $data )
Внутренний вспомогательный метод для удаления метаданных запроса в массиве данных.
Параметры
- массив
$data - Данные для обработки.
Возвращает
массив_writeQueryCache()source protected
_writeQueryCache( string $sql , mixed $data , array $params array() )
Записывает новый ключ для кэша запросов SQL в памяти
Параметры
- строка
$sql - Запрос SQL
- смешанное значение
$data - Результат запроса $sql
- массив
$paramsнеобязательный массив() - Параметры запроса, связанные в качестве значений
alterSchema()source public
alterSchema( mixed $compare , string $table null )
Генерирует синтаксис изменения схемы из CakeSchema::compare()
Параметры
- смешанное значение
$compare - Данные сравнения.
- строка
$tableнеобязательный null - Имя таблицы.
Возвращает
булево значениеbegin()source public
begin( )
Начать транзакцию
Возвращает
булево значениеTrue при успехе, false при ошибке (т.е. если база данных/модель не поддерживает транзакции или транзакция не начата).
Переопределяет
DataSource::begin() boolean()source public
boolean( mixed $data , boolean $quote false )
Преобразует булевы значения PHP в булевы значения базы данных (имитированные)
Параметры
- смешанное значение
$data - Значение для преобразования
- булево значение
$quoteнеобязательный false - Преобразовывать ли поле в строку.
Возвращает
строка|булево значениеПреобразованное булево значение
buildAssociationQuery()source public
buildAssociationQuery( Model $Model , array $queryData )
Строит SQL-запрос.
Это просто удобная обертка над DboSource::buildStatement().
Параметры
-
Model$Model - Модель, для которой строится запрос ассоциации.
- массив
$queryData - Массив информации о данных запроса, содержащий ключи, подобные ключам в Model::find().
Возвращает
строкаСтрока, содержащая SQL-запрос.
См. также
DboSource::buildStatement()buildColumn()source public
buildColumn( array $column )
Генерирует строку схемы столбца, совместимую с базой данных
Параметры
- массив
$column Массив, структура которого похожа на следующую: array('name' => 'value', 'type' => 'value'[, options]), где options может быть 'default', 'length' или 'key'.
Возвращает
строкаbuildIndex()source public
buildIndex( array $indexes , string $table null )
Форматирует индексы для создания таблицы.
Параметры
- массив
$indexes - Индексы для построения
- строка
$tableнеобязательный null - Имя таблицы.
Возвращает
массивbuildJoinStatement()source public
buildJoinStatement( array $join )
Строит и генерирует условие JOIN из массива. Обрабатывает окончательную очистку перед преобразованием.
Параметры
- массив
$join - Массив, определяющий условие JOIN в запросе.
Возвращает
строкаУсловие JOIN SQL, которое будет использоваться в запросе.
См. также
DboSource::renderJoinStatement()DboSource::buildStatement()
buildStatement()source public
buildStatement( array $query , Model $Model )
Строит и генерирует SQL-запрос из массива. Обрабатывает окончательную очистку перед преобразованием.
Параметры
- массив
$query - Массив, определяющий SQL-запрос.
-
Model$Model - Объект модели, который инициировал запрос.
Возвращает
строкаВыполнимый SQL-запрос.
См. также
DboSource::renderStatement()buildTableParameters()source public
buildTableParameters( array $parameters , string $table null )
Форматирует параметры для создания таблицы
Параметры
- массив
$parameters - Параметры для создания SQL.
- строка
$tableнеобязательный null - Имя таблицы.
Возвращает
массивcacheMethod()source public
cacheMethod( string $method , string $key , mixed $value null )
Кэширует значение в methodCaches. Учитывает значение DboSource::$cacheMethods. Извлекает значение из кэша, если $value равно null.
Если кэширование отключено, и выполняется запись, возвращается $value. При чтении возвращается либо значение, либо null.
Параметры
- строка
$method - Имя кэшируемого метода.
- строка
$key - Имя ключа для операции кэширования.
- смешанное значение
$valueнеобязательный null - Значение для кэширования в памяти.
Возвращает
смешанное значениеЛибо null в случае ошибки, либо значение, если оно установлено.
cacheMethodFilter()source public
cacheMethodFilter( string $method , string $key , mixed $value )
Фильтры, применяемые к результатам name и fields. Если фильтр для данного метода не возвращает true, результат не добавляется в кэш памяти.
Примеры:
// For method fields, do not cache values that contain floats
if ($method === 'fields') {
$hasFloat = preg_grep('/(\d+)?\.\d+/', $value);
return count($hasFloat) === 0;
}
return true; // For method name, do not cache values that have the name created
if ($method === 'name') {
return preg_match('/^`created`$/', $value) !== 1;
}
return true; // For method name, do not cache values that have the key 472551d38e1f8bbc78d7dfd28106166f
if ($key === '472551d38e1f8bbc78d7dfd28106166f') {
return false;
}
return true; Параметры
- строка
$method - Имя кэшируемого метода.
- строка
$key - Имя ключа для операции кэширования.
- смешанное значение
$value - Значение для кэширования в памяти.
Возвращает
булево значениеКэшировать или нет
cacheMethodHasher()source public
cacheMethodHasher( string $value )
Хэширует заданное значение.
Кэширование методов использует md5 (по умолчанию) для создания ключей кэша. Если у вас возникают проблемы с коллизиями, попробуйте другой алгоритм хэширования или установите DboSource::$cacheMethods в false.
Параметры
- строка
$value - Значение для хэширования
Возвращает
строкаХэшированное значение
См. также
http://php.net/manual/en/function.hash-algos.phphttp://softwareengineering.stackexchange.com/questions/49550/which-hashing-algorithm-is-best-for-uniqueness-and-speed
calculate()source public
calculate( Model $Model , string $func , array $params array() )
Возвращает SQL вычисление, например, COUNT() или MAX().
Параметры
-
Model$Model - Модель для получения вычисляемого поля.
- строка
$func - Имя SQL-функции в нижнем регистре, например, 'count' или 'max'.
- массив
$paramsнеобязательно массив() - Параметры функции (любые значения должны быть вручную заключены в кавычки).
Возвращает
строкаФункция SQL-вычисления
close()source public
close( )
Отключает базу данных, убивает соединение и объявляет соединение закрытым.
Переопределяет
DataSource::close() commit()source public
commit( )
Подтвердить транзакцию
Возвращает
логическое значениеTrue при успехе, false при ошибке (например, если база данных/модель не поддерживает транзакции или транзакция не была начата).
Переопределяет
DataSource::commit() conditionKeysToString()source public
conditionKeysToString( array $conditions , boolean $quoteValues true , Model $Model null )
Создаёт условие WHERE, анализируя предоставленный массив условий. Используется методом DboSource::conditions().
Параметры
- массив
$conditions - Массив или строка условий
- логическое значение
$quoteValuesнеобязательно true - Если true, значения должны быть заключены в кавычки
-
Model$Modelнеобязательно null - Ссылка на экземпляр модели, выполняющей запрос
Возвращает
строкаSQL-фрагмент
conditions()source public
conditions( mixed $conditions , boolean $quoteValues true , boolean $where true , Model $Model null )
Создаёт условие WHERE, анализируя предоставленные данные условий. Если предоставлены массив или строка условий, эти условия будут обработаны и заключены в кавычки. Если предоставлено логическое значение, оно будет преобразовано в целое число как условие. Null вернёт 1 = 1.
Результаты этого метода сохраняются в кэше памяти. Это улучшает производительность, но из-за того, что метод использует алгоритм хэширования, могут быть коллизии. Установка DboSource::$cacheMethods в false отключит кэш памяти.
Параметры
- смешанный
$conditions - Массив или строка условий или любое значение.
- логическое значение
$quoteValuesнеобязательно true - Если true, значения должны быть заключены в кавычки
- логическое значение
$whereнеобязательно true - Если true, к возвращаемому значению будет добавлен "WHERE "
-
Model$Modelнеобязательно null - Ссылка на экземпляр модели, выполняющей запрос
Возвращает
строкаSQL-фрагмент
create()source public
create( Model $Model , array $fields null , array $values null )
Создание (C в CRUD)
Создаёт новые записи в базе данных.
Параметры
-
Model$Model - Объект модели, для которой создаётся запись.
- массив
$fieldsнеобязательно null Массив имён полей для вставки. Если null, используется $Model->data для генерации имён полей.
- массив
$valuesнеобязательно null Массив значений с ключами, соответствующими полям. Если null, используется $Model->data для генерации значений.
Возвращает
логическое значениеУспех
Переопределяет
DataSource::create() createSchema()source public
createSchema( CakeSchema $schema , string $tableName null )
Генерирует схему базы данных для заданного объекта Schema.
Параметры
-
CakeSchema$schema - Экземпляр подкласса CakeSchema
- строка
$tableNameнеобязательно null Необязательно. Если указано, будет сгенерировано только имя указанной таблицы. В противном случае генерируются все таблицы, определённые в схеме.
Возвращает
строкаdefaultConditions()source public
defaultConditions( Model $Model , string|array|boolean $conditions , boolean $useAlias true )
Создаёт набор стандартных условий из модели, если $conditions равен null или пустому. Если условия предоставлены, они будут возвращены. Если модель не существует и условия не предоставлены, будет возвращён null или false в зависимости от входного значения.
Параметры
-
Model$Model - Модель для получения условий.
- строка|массив|логическое значение
$conditions Массив условий, строка условий, null или false. Если массив или строка условий, эти условия будут возвращены. В других случаях будет проверена существование модели. Если модель не существует, будет возвращён null или false в зависимости от входного значения.
- логическое значение
$useAliasнеобязательно true - Использовать псевдонимы моделей вместо имён таблиц при генерации условий
Возвращает
смешанныйЛибо null, false, $conditions или массив стандартных условий для использования.
См. также
DboSource::update()DboSource::conditions()
delete()source public
delete( Model $Model , mixed $conditions null )
Генерирует и выполняет оператор SQL DELETE. Для баз данных, которые не поддерживают псевдонимы в операторах UPDATE.
Параметры
-
Model$Model - Модель, из которой нужно удалить данные
- смешанный
$conditionsнеобязательно null - Условия для использования. Если пусто, используется первичный ключ модели.
Возвращает
логическое значениеУспех
Переопределяет
DataSource::delete() disconnect()source public
disconnect( )
Отключается от базы данных.
Возвращает
логическое значениеВсегда true
dropSchema()source public
dropSchema( CakeSchema $schema , string $table null )
Генерирует оператор "drop table" для заданного объекта Schema.
Параметры
-
CakeSchema$schema - Экземпляр подкласса CakeSchema
- строка
$tableнеобязательно null Необязательно. Если указано, будет сгенерировано только имя указанной таблицы. В противном случае генерируются все таблицы, определённые в схеме.
Возвращает
строкаexecute()source public
execute( string $sql , array $options array() , array $params array() )
Выполняет запрос к базе данных с заданным SQL-запросом и получает некоторые метаданные о результате (затронутые строки, время, ошибки, количество строк в наборе результатов). Запрос также регистрируется. Если Configure::read('debug') установлено, лог отображается всегда, иначе только при ошибках.
Параметры
- log - Выполнять ли запись запроса в кэше логов.
Параметры
- строка
$sql - SQL-запрос
- массив
$optionsнеобязательно массив() - Параметры выполнения запроса.
- массив
$paramsнеобязательно массив() - Значения, которые должны быть привязаны к запросу.
Возвращает
смешанныйРесурс или объект, представляющий набор результатов, или false при неудаче
expression()source public
expression( string $expression )
Возвращает объект для представления выражения базы данных в запросе. Объекты выражений не проверяются и не экранируются.
Параметры
- строка
$expression - Произвольное SQL-выражение, которое необходимо вставить в запрос.
Возвращает
stdClassОбъект, представляющий выражение базы данных для использования в запросе
fetchAll()source public
fetchAll( string $sql , array|boolean $params array() , array $options array() )
Возвращает массив всех строк результатов для заданного SQL-запроса.
Возвращает false, если строки не найдены.
Параметры
-
cache- Возвращает кэшированную версию запроса, если она существует и сохраняет результат в кэше. Это кэш не сохраняется между запросами, и действует только для текущего запроса. По умолчанию этот параметр равен true. Если вы напрямую вызываете этот метод, вы можете отключить кэширование, установив $options вfalse
Параметры
- строка
$sql - SQL-запрос
- массив|логическое значение
$paramsнеобязательно массив() Либо параметры для привязки в качестве значений к SQL-запросу, либо логическое значение для управления кэшированием запросов.
- массив
$optionsнеобязательно массив() - Дополнительные параметры для запроса.
Возвращает
логическое значение|массивМассив строк набора результатов или false, если строки не найдены
fetchAssociated()source public
fetchAssociated( Model $Model , string $query , array $ids )
Получение ассоциаций 'hasMany'.
Это просто прокси для сохранения обратной совместимости.
Параметры
-
Model$Model - Основной объект модели.
- строка
$query - Шаблон запроса ассоциации.
- массив
$ids - Массив идентификаторов связанных записей.
Возвращает
массивРезультаты ассоциации.
См. также
DboSource::_fetchHasMany()fetchResult()source public
fetchResult( )
Извлекает следующую строку из текущего набора результатов.
Возвращает
логическое значениеfetchRow()source public
fetchRow( string $sql null )
Возвращает строку из текущего набора результатов в виде массива.
Параметры
- строка
$sqlнеобязательно null - Некоторая SQL-команда для выполнения.
Возвращает
массивИзвлеченная строка в виде массива
fetchVirtualField()source public
fetchVirtualField( array $result )
Изменяет массив $result, размещая виртуальные поля в записи модели, куда они относятся.
Параметры
- массив
$result - $result Ссылка на извлеченную строку
field()source public
field( string $name , string $sql )
Возвращает одно поле из первой строки результатов заданного SQL-запроса или false, если результат пуст.
Параметры
- строка
$name - Имя поля для получения.
- строка
$sql - SQL-запрос.
Возвращает
смешанный типЗначение извлеченного поля или false, если поле не найдено.
fields()source public
fields( Model $Model , string $alias null , mixed $fields array() , boolean $quote true )
Генерирует список полей SQL-запроса.
Параметры
-
Model$Model - Модель для получения полей.
- строка
$aliasнеобязательно null - Псевдоним имени таблицы
- смешанный тип
$fieldsнеобязательно массив() - Предоставленный список полей.
- логическое значение
$quoteнеобязательно true - Если false, возвращает массив полей без кавычек.
Возвращает
массивflushMethodCache()source public
flushMethodCache( )
Очищает кэш методов. Эти кэши используются методами DboSource::name() и DboSource::conditions().
fullTableName()source public
fullTableName( Model|string $model , boolean $quote true , boolean $schema true )
Возвращает полное имя таблицы, включая префикс.
Параметры
-
Model|строка$model - Либо объект модели, либо строковое имя таблицы.
- логическое значение
$quoteнеобязательно true - Нужно ли заключать имя таблицы в кавычки.
- логическое значение
$schemaнеобязательно true - Нужно ли включать имя схемы.
Возвращает
строкаПолное имя таблицы в кавычках
generateAssociationQuery()source public
generateAssociationQuery( Model $Model , Model|null $LinkModel , string $type , string $association , array $assocData , array $queryData , boolean $external )
Генерирует запрос или часть запроса для одной модели или двух связанных моделей.
Создает строку, содержащую шаблон SQL-запроса.
Параметры
-
Model$Model - Основной объект модели.
-
Model|null$LinkModel - Связанный объект модели.
- строка
$type - Тип ассоциации, один из типов ассоциаций модели, например hasMany.
- строка
$association - Имя ассоциации.
- массив
$assocData - Данные ассоциации.
- массив
$queryData - $queryData Массив данных запроса, содержащий ключи, похожие на ключи в Model::find().
- логическое значение
$external - Является ли запрос ассоциации для внешнего источника данных.
Возвращает
смешанный типСтрока, представляющая запрос. True, когда $external равен false, а ассоциация $type равна 'hasOne' или 'belongsTo'.
getConstraint()source public
getConstraint( string $type , Model $Model , Model $LinkModel , string $association , array $assocData , string $association2 null )
Возвращает массив условий для ограничения между двумя моделями.
Параметры
- строка
$type - Тип ассоциации.
-
Model$Model - Основной объект модели.
-
Model$LinkModel - Связанный объект модели.
- строка
$association - Имя ассоциации.
- массив
$assocData - Данные ассоциации.
- строка
$association2необязательно null - Имя ассоциации HABTM.
Возвращает
массивМассив условий, определяющих ограничение между $Model и $LinkModel.
getLockingHint()source public
getLockingHint( mixed $mode )
Возвращает подсказку блокировки для заданного режима.
В настоящее время этот метод возвращает FOR UPDATE только когда режим установлен в true.
Параметры
- смешанный тип
$mode - Режим блокировки
Возвращает
строка|nullFOR UPDATE или null
getLog()source public
getLog( boolean $sorted false , boolean $clear true )
Получение журнала запросов в виде массива.
Параметры
- логическое значение
$sortedнеобязательно false - Получить запросы, отсортированные по времени выполнения, по умолчанию false.
- логическое значение
$clearнеобязательно true - Если True, существующий журнал будет очищен.
Возвращает
массивМассив выполненных запросов
getQueryCache()source public
getQueryCache( string $sql , array $params array() )
Возвращает результат SQL запроса, если он уже кэширован
Параметры
- строка
$sql - SQL запрос
- массив
$paramsнеобязательно массив() - параметры запроса, привязанные как значения
Возвращает
смешанный типрезультаты запроса, если он кэширован, иначе false
getVersion()source public
getVersion( )
Получает строку версии сервера базы данных
Возвращает
строкаВерсия базы данных
group()source public
group( string|array $fields , Model $Model null )
Создаёт SQL-оператор GROUP BY.
Параметры
- строка или массив
$fields - Поля для группировки
-
Model$Modelнеобязательно null - Модель для получения полей группировки.
Возвращает
строкаОператор GROUP BY или null.
hasAny()source public
hasAny( Model $Model , string $sql )
Проверяет, содержит ли указанная таблица хоть одну запись, соответствующую указанному SQL запросу
Параметры
-
Model$Model - Модель для поиска
- строка
$sql - SQL условие WHERE (только условие, без "WHERE")
Возвращает
булевоИстина, если в таблице есть соответствующая запись, иначе ложь
hasResult()source public
hasResult( )
Проверяет, является ли результат действительным
Возвращает
булевоИстина, если результат действителен, иначе ложь
having()source public
having( mixed $fields , boolean $quoteValues true , Model $Model null )
Создаёт SQL-оператор HAVING.
Параметры
- смешанный тип
$fields - Массив или строка условий
- булево
$quoteValuesнеобязательно истина - Если истина, значения должны быть заключены в кавычки
-
Model$Modelнеобязательно null - Ссылка на экземпляр объекта модели, выполняющий запрос
Возвращает
строка или nullОператор HAVING или null
identifier()source public
identifier( string $identifier )
Возвращает объект для представления идентификатора базы данных в запросе. Объекты выражений не санируются и не экранируются.
Параметры
- строка
$identifier - SQL выражение, используемое в качестве идентификатора
Возвращает
stdClassОбъект, представляющий идентификатор базы данных для использования в запросе
index()source public
index( string $model )
Возвращает массив индексов в указанном источнике данных.
Параметры
- строка
$model - Имя модели для проверки
Возвращает
массивПоля в таблице. Ключи - столбец и уникальность
insertMulti()source public
insertMulti( string $table , array $fields , array $values )
Вставляет несколько значений в таблицу
Параметры
- строка
$table - Таблица, в которую вставляются данные.
- массив
$fields - Массив имён полей/столбцов, которые вставляются.
- массив
$values Массив значений для вставки. Значения должны быть массивом строк. Каждая строка должна иметь значения, именованные по имени столбца. Каждая строка должна иметь значения в том же порядке, что и в $fields.
Возвращает
булевоintrospectType()source public
introspectType( string $value )
Угадывает тип данных массива
Параметры
- строка
$value - Значение для проверки типа данных.
Возвращает
строкаisConnected()source public
isConnected( )
Проверяет, подключен ли источник к базе данных.
Возвращает
булевоИстина, если база данных подключена, иначе ложь
lastAffected()source public
lastAffected( mixed $source null )
Возвращает количество затронутых строк в предыдущей операции с базой данных. Если предыдущей операции не существует, возвращает ложь.
Параметры
- смешанный тип
$sourceнеобязательно null - Источник для проверки.
Возвращает
целое числоКоличество затронутых строк
Переопределяет
DataSource::lastAffected() lastError()source public
lastError( PDOStatement $query null )
Возвращает отформатированное сообщение об ошибке из предыдущей операции с базой данных.
Параметры
- PDOStatement
$queryнеобязательно null - запрос для извлечения ошибки, если она есть
Возвращает
строкаСообщение об ошибке с номером ошибки
lastInsertId()source public
lastInsertId( mixed $source null )
Возвращает ID, сгенерированный в предыдущей операции INSERT.
Параметры
- смешанный тип
$sourceнеобязательно null - Источник для получения идентификатора.
Возвращает
смешанный типПереопределяет
DataSource::lastInsertId() lastNumRows()source public
lastNumRows( mixed $source null )
Возвращает количество строк в предыдущем наборе результатов. Если предыдущего набора результатов не существует, возвращает ложь.
Параметры
- смешанный тип
$sourceнеобязательно null - Не используется
Возвращает
целое числоКоличество строк в наборе результатов
Переопределяет
DataSource::lastNumRows() length()source public
length( string $real )
Получает длину описания столбца в формате базы данных, или null, если длина неизвестна
Параметры
- строка
$real - Реальный тип столбца на уровне базы данных (например, "varchar(255)")
Возвращает
смешанный типЦелое число или строка, представляющая длину столбца, или null для неизвестной длины.
limit()source public
limit( integer $limit , integer $offset null )
Возвращает оператор ограничения в правильном формате для конкретной базы данных.
Параметры
- целое число
$limit - Ограничение возвращаемых результатов
- целое число
$offsetнеобязательно null - Смещение, с которого начинаются результаты
Возвращает
строкаSQL оператор ограничения/смещения
logQuery()source public
logQuery( string $sql , array $params array() )
Регистрирует данный SQL запрос.
Параметры
- строка
$sql - SQL оператор
- массив
$paramsнеобязательно массив() - Значения, привязанные к запросу (подготовленные операторы)
name()source public
name( mixed $data )
Возвращает строковое представление имени $data для использования в SQL-запросе. Удаляет поля из SQL-функций перед добавлением кавычек.
Результаты этого метода сохраняются в кэше памяти. Это повышает производительность, но из-за того, что метод использует алгоритм хэширования, могут возникать коллизии. Установка DboSource::$cacheMethods в false отключит кэш памяти.
Параметры
- mixed
$data Строка с именем столбца, массив столбцов или объект из DboSource::expression() или DboSource::identifier()
Возвращает
stringSQL поле
nestedTransactionSupported()source public
nestedTransactionSupported( )
Проверяет, поддерживает ли сервер вложенные транзакции
Возвращает
booleanorder()source 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
prepareFields()source public
prepareFields( Model $Model , array $queryData )
Подготавливает поля, необходимые для SQL-запроса.
Если поля не заданы, возвращаются все поля $Model.
Параметры
-
Model$Model - Модель для подготовки.
- array
$queryData - Массив данных запроса, содержащий ключи, аналогичные Model::find().
Возвращает
arrayМассив, содержащий SQL поля.
query()source public
query( )
Абстракция запроса к источнику данных
Возвращает
resourceИдентификатор ресурса результата.
queryAssociation()source 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если результаты не могут быть созданы.
rawQuery()source public
rawQuery( string $sql , array $params array() )
Выполняет заданный SQL-запрос.
Параметры
- string
$sql - SQL запрос
- array
$paramsнеобязательно array() - Дополнительные параметры для запроса.
Возвращает
mixedРесурс или объект, представляющий результат набора данных, или false при ошибке
read()source public
read( Model $Model , array $queryData array() , integer $recursive null )
Операция "Чтение" в CRUD
Считывает запись(и) из базы данных.
Параметры
-
Model$Model - Объект модели, для которой предназначен запрос.
- array
$queryDataнеобязательно array() - Массив данных запроса, содержащий ключи, аналогичные Model::find().
- integer
$recursiveнеобязательно null - Количество уровней ассоциации
Возвращает
mixedboolean false при ошибке/неудаче. Массив результатов при успехе.
Переопределяет
DataSource::read() readTableParameters()source public
readTableParameters( string $name )
Считывает дополнительные параметры таблицы
Параметры
- string
$name - Имя таблицы для чтения.
Возвращает
arrayreconnect()source public
reconnect( array $config array() )
Подключается к серверу базы данных с необязательными новыми настройками
Параметры
- array
$configнеобязательно array() - Массив, определяющий новые параметры конфигурации
Возвращает
booleanTrue при успехе, false при ошибке
renderJoinStatement()source public
renderJoinStatement( array $data )
Генерирует конечное SQL предложение JOIN
Параметры
- array
$data - Данные для генерации предложения JOIN.
Возвращает
stringrenderStatement()source public
renderStatement( string $type , array $data )
Генерирует окончательное SQL-предложение, объединив его компоненты в правильном порядке
Параметры
- string
$type - Тип выполняемого запроса. Например, select, create, update, delete, schema, alter.
- array
$data - Массив данных для вставки в запрос.
Возвращает
string|nullСгенерированное SQL-выражение для выполнения, в противном случае null.
resetSequence()source public
resetSequence( string $table , string $column )
Сброс последовательности на основе максимального значения $column. Полезно для сброса последовательностей после использования insertMulti().
Этот метод должен быть реализован источниками данных, которым требуется использование последовательностей.
Параметры
- string
$table - Имя таблицы для обновления.
- string
$column - Столбец, используемый при сбросе значения последовательности.
Возвращает
booleanУспех.
resolveKey()source public
resolveKey( Model $Model , string $key , string $assoc null )
Возвращает ключ в формате строки Model.fieldname (например, Post.title или Country.name)
Параметры
-
Model$Model - Модель для получения ключа.
- string
$key - Поле ключа.
- string
$assocнеобязательно null - Имя ассоциации.
Возвращает
stringПереопределяет
DataSource::resolveKey() rollback()source public
rollback( )
Откатить транзакцию
Возвращает
booleanTrue при успехе, false при неудаче (например, если база данных/модель не поддерживает транзакции или транзакция не была начата).
Переопределяет
DataSource::rollback() showLog()source public
showLog( boolean $sorted false )
Выводит содержимое журнала запросов. Если среда не CLI, элемент sql_log будет рендериться и выводиться. Если среда CLI, генерируется текстовый журнал.
Параметры
- boolean
$sortedнеобязательно false - Получить запросы, отсортированные по времени выполнения, по умолчанию false.
truncate()source public
truncate( Model|string $table )
Удаляет все записи в таблице и сбрасывает счетчик автоинкрементируемого первичного ключа, если применимо.
Параметры
-
Model|string$table - Строка или класс модели, представляющие таблицу, которую нужно обнулить
Возвращает
booleanSQL оператор TRUNCATE TABLE, false, если не применимо.
update()source public
update( Model $Model , array $fields array() , array $values null , mixed $conditions null )
Генерирует и выполняет SQL оператор UPDATE для заданной модели, полей и значений. Для баз данных, не поддерживающих псевдонимы в запросах UPDATE.
Параметры
-
Model$Model - Модель для обновления.
- array
$fieldsнеобязательно array() - Поля для обновления
- array
$valuesнеобязательно null - Значения полей.
- mixed
$conditionsнеобязательно null - Условия для обновления. При непустых $values значения не будут обрамлены кавычками.
Возвращает
booleanУспех
Переопределяет
DataSource::update() value()source public
value( string $data , string $column null , boolean $null true )
Возвращает цитированную и экранированную строку $data для использования в SQL запросе.
Параметры
- string
$data - Строка, подлежащая подготовке для использования в SQL запросе
- string
$columnнеобязательно null - Тип данных столбца, в который будут вставлены эти данные.
- boolean
$nullнеобязательно true - Столбец допускает значения NULL
Возвращает
stringЦитированные и экранированные данные
Методы, унаследованные от DataSource
_cacheDescription()source protected
_cacheDescription( string $object , mixed $data null )
Кэширование описания DataSource
Параметры
- string
$object - Имя объекта (модели) для кэширования
- mixed
$dataнеобязательно null - Описание модели, обычно строка или массив
Возвращает
mixedcolumn()source public
column( string $real )
Преобразование типов столбцов в базовые типы
Параметры
- string
$real - Реальный тип столбца (например, "varchar(255)")
Возвращает
stringАбстрактный тип столбца (например, "строка")
describe()source public
describe( Model|string $model )
Возвращает описание модели (метаданные) или null, если не найдено.
Параметры
-
Model|string$model - Модель для описания.
Возвращает
array|nullМассив метаданных для $model
enabled()source public
enabled( )
Проверка, выполнены ли условия для доступности DataSource. Часто используется из connect() для проверки поддержки перед установлением соединения.
Возвращает
booleanУдовлетворены ли условия DataSource для использования.
getSchemaName()source public
getSchemaName( )
Возвращает имя схемы. Переопределите в подклассах.
Возвращает
string|nullИмя схемы
insertQueryData()source public
insertQueryData( string $query , array $data , string $association , Model $Model , array $stack )
Заменяет заполнитель {$__cakeID__$} и {$__cakeForeignKey__$} в данных запроса.
Параметры
- string
$query - Строка запроса, требующая замены.
- array
$data - Массив данных со значениями, которые будут вставлены вместо заполнителей.
- string
$association - Имя модели ассоциации, подлежащей замене.
-
Model$Model - Экземпляр модели.
- array
$stack - Стек контекста.
Возвращает
mixedСтрока данных запроса с замененными плацехолдерами или false при ошибке.
listSources()source public
listSources( mixed $data null )
Кэширование/возвращение кэшированных результатов для дочерних экземпляров.
Параметры
- mixed
$dataнеобязательно null - Не используется в этом классе.
Возвращает
array|nullМассив доступных источников в этом источнике данных.
setConfig()source public
setConfig( array $config array() )
Устанавливает конфигурацию для DataSource. Объединяет информацию $config с _baseConfig и существующим свойством $config.
Параметры
- array
$configнеобязательно array() - Массив конфигурации
Методы, унаследованные от CakeObject
_mergeVars()source protected
_mergeVars( array $properties , string $class , boolean $normalize true )
Объединяет $property этого объекта со свойством в определении $class. Значение этого класса для свойства будет объединено поверх $class'.
Это обеспечивает часть магии DRY, предоставляемой CakePHP. Если вы хотите отключить ее, переопределите этот метод как пустую функцию.
Параметры
- array
$properties - Имя свойств для объединения.
- string
$class - Класс для объединения свойства с.
- boolean
$normalizeнеобязательно true - Установите в true, чтобы выполнить свойства через Hash::normalize() перед объединением.
_set()source protected
_set( array $properties array() )
Позволяет установить несколько свойств объекта в одной строке кода. Будут установлены только свойства, которые являются частью объявления класса.
Параметры
- array
$propertiesнеобязательно array() - Ассоциативный массив, содержащий свойства и соответствующие значения.
_stop()source protected
_stop( integer|string $status 0 )
Остановка выполнения текущего сценария. Оборачивает exit(), что упрощает тестирование.
Параметры
- integer|string
$statusнеобязательно 0 - см. http://php.net/exit для значений
dispatchMethod()source public
dispatchMethod( string $method , array $params array() )
Вызывает метод этого объекта с заданными параметрами. Предоставляет ОО оболочку для call_user_func_array
Параметры
- string
$method - Имя вызываемого метода
- array
$paramsнеобязательно array() - Список параметров для использования при вызове $method
Возвращает
mixedВозвращает результат вызова метода
log()source 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Успешность записи в журнал
requestAction()source 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, а также именованных/передаваемых аргументов.
Возвращаемое значение
смешанный типБулево значение true или false при успехе/неуспехе, или содержимое рендеренного действия, если в $extra задан ключ 'return'.
toString()source public
toString( )
Преобразование CakeObject в строку. Каждый класс может переопределить этот метод по необходимости.
Возвращаемое значение
строкаИмя этого класса
Подробное описание свойств
$_methodCacheChangesource
protected boolean
Указывает, были ли изменения в кэшированных результатах методов этого класса. Это будет использоваться для хранения в более постоянном кэше.
false
$_queriesLogMaxsource
protected целое число
Максимальное количество элементов в журнале запросов
Это сделано для предотвращения того, чтобы журнал запросов занимал слишком много памяти.
200
$_queryCachesource
protected массив
Кэширует сериализованные результаты выполненных запросов
array()
$_queryDefaultssource
protected массив
Поля по умолчанию, используемые DBO
array(
'conditions' => array(),
'fields' => null,
'table' => null,
'alias' => null,
'order' => null,
'limit' => null,
'joins' => array(),
'group' => null,
'offset' => null,
'having' => null,
'lock' => null,
) $_sqlBoolOpssource
protected массив
Набор допустимых булевых операций SQL, используемых в операторе WHERE
array('and', 'or', 'not', 'and not', 'or not', 'xor', '||', '&&') $_sqlOpssource
protected массив
Набор допустимых операций SQL, используемых в операторе WHERE
array('like', 'ilike', 'rlike', 'or', 'not', 'in', 'between', 'regexp', 'similar to') $affectedsource
public строка
Строка, хранящая количество строк, затронутых последней операцией SQL.
null
$aliassource
public строка
Ключевое слово базы данных, используемое для присвоения псевдонимов идентификаторам.
'AS '
$cacheMethodssource
public boolean
Кэшировать ли результаты DboSource::name() и DboSource::fields() в кэше памяти. Установите в false, чтобы отключить использование кэша памяти.
true
$descriptionsource
public строка
Строка описания для этого источника данных базы данных.
"Database Data Source"
$endQuotesource
public строка
Заключающий символ, используемый этим источником данных для идентификаторов в кавычках.
null
$fieldParameterssource
public массив
Список параметров поля, специфичных для движка, используемых при создании таблиц.
array()
$indexsource
public массив
Определение индексов: стандартные Cake, первичные, индексы, уникальные
array('PRI' => 'primary', 'MUL' => 'index', 'UNI' => 'unique') $methodCachesource
public static массив
Кэширует результаты операций парсинга запросов. Кэшированные результаты как для DboSource::name(), так и для DboSource::fields() будут храниться здесь.
Кэширование методов использует md5 (по умолчанию) для построения ключей кэша. Если у вас возникают проблемы с коллизиями, попробуйте другой алгоритм хеширования, переопределив DboSource::cacheMethodHasher или установив DboSource::$cacheMethods в false.
array()
$startQuotesource
public строка
Начальный символ, используемый этим источником данных для цитирования идентификаторов.
null
$tableParameterssource
public массив
Список параметров, специфичных для движка таблиц, используемых при создании таблиц
array()
$useNestedTransactionssource
public логическое значение
Флаг для поддержки вложенных транзакций. Если он установлен в false, вы сможете использовать методы транзакции (begin/commit/rollback), но будет выполняться только глобальная транзакция.
false
© 2005–2017 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/2.10/class-DboSource.html