Spec-Zone.ru › CakePHP 2.9

Класс DboSource

DboSource

Создаёт объекты-потомки DBO из заданной конфигурации подключения к базе данных

CakeObject
Extended by DataSource
Extended by DboSource

Непосредственные подклассы

  • Mysql
  • Postgres
  • Sqlite
  • Sqlserver
Пакет: Cake\Model\Datasource
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: MIT License
Расположение: Cake/Model/Datasource/DboSource.php

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

  • $_connection protected
    array
    Ссылка на физическое подключение к этому источнику данных
  • $_methodCacheChange protected
    boolean

    Указывает, были ли изменения в кэшированных результатах методов этого класса. Это будет использоваться для хранения в более персистентном кэше

  • $_queriesCnt protected
    integer
    Количество запросов.
  • $_queriesLog protected
    array
    Журнал запросов, выполненных этим источником данных
  • $_queriesLogMax protected
    integer
    Максимальное количество элементов в журнале запросов
  • $_queriesTime protected
    integer
    Общее время выполнения всех запросов.
  • $_queryCache protected
    array
    Кэширует сериализованные результаты выполненных запросов
  • $_queryDefaults protected
    array
    Поля по умолчанию, используемые DBO
  • $_result protected
    array
    Результат
  • $_sqlBoolOps protected
    array
    Набор допустимых булевых операций SQL, используемых в операторе WHERE
  • $_sqlOps protected
    array
    Набор допустимых операторов SQL, используемых в операторе WHERE
  • $_transactionNesting protected
    integer
    Уровень вложенности транзакций
  • $affected public
    string
    Строка для хранения количества строк, затронутых последней операцией SQL.
  • $alias public
    string
    Ключевое слово базы данных, используемое для присвоения псевдонимов идентификаторам.
  • $cacheMethods public
    boolean

    Кэшировать или нет результаты DboSource::name() и DboSource::fields() в кэш памяти. Установите в значение false, чтобы отключить использование кэша памяти.

  • $configKeyName public
    string
    Имя ключа конфигурации источника данных
  • $description public
    string
    Строка описания этого источника данных базы данных.
  • $endQuote public
    string
    Конечный символ, используемый этим источником данных для цитируемых идентификаторов.
  • $fieldParameters public
    array
    Список дополнительных параметров поля, специфичных для движка, используемых при создании таблицы
  • $fullDebug public
    boolean
    Печать полной отладочной информации запроса?
  • $index public
    array
    определение индекса, стандартный cake, первичный, индекс, уникальный
  • $methodCache public static
    array

    Кэширует результаты операций разбора запросов. Кэшированные результаты как для DboSource::name(), так и для DboSource::fields() будут храниться здесь.

  • $numRows public
    integer
    Количество строк в текущем наборе результатов
  • $startQuote public
    string
    Начальный символ, используемый этим источником данных для цитируемых идентификаторов.
  • $tableParameters public
    array
    Список параметров, специфичных для движка таблицы, используемых при создании таблицы
  • $took public
    integer
    Время выполнения последнего запроса
  • $useNestedTransactions public
    boolean

    Флаг для поддержки вложенных транзакций. Если он установлен в false, вы сможете использовать методы транзакции (begin/commit/rollback), но будет выполнена только глобальная транзакция.

  • $virtualFieldSeparator public
    string
    Строка-разделитель для составления виртуального поля

Унаследованные свойства

  • _baseConfig, _descriptions, _sources, _transactionStarted, cacheSources, config, connected

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

  • __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
    Возвращает массив условий для ограничения между двумя моделями.
  • getLog() public
    Получает журнал запросов в виде массива.
  • getQueryCache() public
    Возвращает результат SQL-запроса, если он уже кэширован
  • getVersion() public
    Получает строку версии сервера базы данных
  • group() public
    Создаёт SQL-оператор GROUP BY.
  • hasAny() public
    Проверяет, содержит ли указанная таблица записи, соответствующие заданному SQL-запросу
  • hasResult() public
    Проверяет, является ли результат допустимым
  • identifier() public

    Возвращает объект для представления идентификатора базы данных в запросе. Объекты Expression не проверяются на безопасность и не экранируются.

  • 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
    Возвращает ключ, отформатированный как строка модели (например, Post.title или Country.name).
  • rollback() public
    Откат транзакции
  • showLog() public

    Выводит содержимое журнала запросов. В не-консольных средах будет выведен элемент sql_log. В консольных средах генерируется текстовый журнал.

  • truncate() public

    Удаляет все записи из таблицы и сбрасывает счётчик автоинкрементируемого первичного ключа, если применимо.

  • update() public

    Генерирует и выполняет SQL-оператор UPDATE для заданной модели, полей и значений. Для баз данных, которые не поддерживают псевдонимы в операторах UPDATE.

  • value() public
    Возвращает цитированную и экранированную строку $data для использования в SQL-запросе.

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

__construct()source public

__construct( array $config null , boolean $autoConnect true )

Конструктор

Параметры

array $config необязательно null
Массив с конфигурационной информацией для источника данных.
boolean $autoConnect необязательно true
Указывает, следует ли автоматически подключаться к источнику данных.

Исключения

MissingConnectionException
Возникает, когда подключение невозможно.

Переопределяет

DataSource::__construct()

__destruct()source public

__destruct( )

Используется для хранения в кэше результатов метода in-memory methodCache

Переопределяет

DataSource::__destruct()

_beginNested()source protected

_beginNested( )

Начинает вложенную транзакцию

Возвращает

boolean

_buildFieldParameters()source protected

_buildFieldParameters( string $columnString , array $columnData , string $position )

Строит параметры поля в заданной позиции

Параметры

string $columnString
Частично построенная строка столбца
array $columnData
Массив данных столбца.
string $position
Тип позиции для использования. 'beforeDefault' или 'afterDefault' — распространённые варианты

Возвращает

string
Построенный столбец с добавленными параметрами поля.

_commitNested()source protected

_commitNested( )

Завершает вложенную транзакцию

Возвращает

boolean

_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.2

Возвращает

массив

_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 )

Объединяет ассоциацию merge в данные

Параметры

массив $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 )

Приводит и подготавливает поля и значения для оператора UPDATE SQL

Параметры

Model $Model
Модель, для которой необходимо подготовить поля.
массив $fields
Поля для обновления.
логическое значение $quoteValues необязательно true
Если значения следует приводить к кавычкам или обрабатывать как фрагменты SQL
логическое значение $alias необязательно false
Включать псевдоним модели в имя поля

Возвращает

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

_quoteFields()source protected

_quoteFields( string $conditions )

Цитаты полей модели.

Параметры

строка $conditions
Условия для цитирования.

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

строка
или ложь, если совпадений нет

_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( )

Начать транзакцию

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

булево

Истина при успехе, ложь при ошибке (т.е. если база данных/модель не поддерживают транзакции или транзакция не начата).


Переопределяет

DataSource::begin()

boolean()source public

boolean( mixed $data , boolean $quote false )

Преобразует значения булевых типов PHP в значения булевых типов базы данных (имитированные).

Параметры

смешанный $data
Значение, подлежащее преобразованию
булево $quote необязательно ложь
Преобразовывать ли поле в строку.

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

строка|булево
Преобразованное булевое значение

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 )

Форматирует индексы для create table.

Параметры

массив $indexes
Индексы для построения
строка $table необязательно null
Имя таблицы.

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

массив

buildJoinStatement()source public

buildJoinStatement( array $join )

Создаёт и генерирует условие JOIN из массива. Обрабатывает окончательную очистку перед преобразованием.

Параметры

массив $join
Массив, определяющий условие JOIN в запросе.

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

строка
Условие SQL JOIN для использования в запросе.

См. также

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 )

Форматирует параметры для create table

Параметры

массив $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 в ложь.

Параметры

строка $value
Значение для хеширования

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

строка
Хешированное значение

См. также

http://php.net/manual/en/function.hash-algos.php
http://softwareengineering.stackexchange.com/questions/49550/which-hashing-algorithm-is-best-for-uniqueness-and-speed
END_OF_DOCUMENT_MARKER

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( )

Подтвердить транзакцию

Возвращает

логическое значение

Истина при успехе, ложь при неудаче (например, если база данных/модель не поддерживают транзакции или транзакция не начата).


Переопределяет

DataSource::commit()

conditionKeysToString()source public

conditionKeysToString( array $conditions , boolean $quoteValues true , Model $Model null )

Создаёт условие WHERE, анализируя заданный массив условий. Используется методом DboSource::conditions().

Параметры

массив $conditions
Массив или строка условий
логическое значение $quoteValues необязательно истина
Если истинно, значения должны быть взяты в кавычки
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 необязательно истина
Если истинно, значения должны быть взяты в кавычки
логическое значение $where необязательно истина
Если истинно, «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 необязательно истина
Использовать псевдонимы моделей вместо имён таблиц при генерации условий

Возвращает

смешанный тип
Либо 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( )

Отключается от базы данных.

Возвращает

логическое значение
Всегда истинно

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 необязательно массив()
значения для связывания с запросом.

Возвращает

смешанный тип
Ресурс или объект, представляющий набор результатов, или ложь при ошибке

expression()source public

expression( string $expression )

Возвращает объект для представления выражения базы данных в запросе. Объекты выражений не проверяются на безопасность и не экранируются.

Параметры

строка $expression
Произвольное SQL-выражение, которое нужно вставить в запрос.

Возвращает

stdClass
Объект, представляющий выражение базы данных для использования в запросе
END_OF_DOCUMENT_MARKER

fetchAll()source public

fetchAll( string $sql , array|boolean $params array() , array $options array() )

Возвращает массив всех строк результатов для заданного SQL-запроса.

Возвращает false, если совпадений нет.

Параметры

  • cache - Возвращает кэшированную версию запроса, если она существует и сохраняет результат в кэше. Это неперсистентный кэш, и он действует только для одного запроса. Этот параметр по умолчанию равен true. Если вы непосредственно вызываете этот метод, вы можете отключить кэширование, установив $options в false

Параметры

строка $sql
SQL-запрос
массив|логическое $params необязательно массив()

Либо параметры для привязки в качестве значений к SQL-запросу, либо логическое значение для управления кэшированием запросов.

массив $options необязательно массив()
Дополнительные параметры для запроса.

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

boolean|массив
Массив строк набора результатов или false, если совпадений нет

fetchAssociated()source public

fetchAssociated( Model $Model , string $query , array $ids )

Извлечение ассоциаций 'hasMany'.

Это просто прокси для обеспечения обратной совместимости.

Параметры

Model $Model
Основной объект модели.
строка $query
Шаблон запроса ассоциации.
массив $ids
Массив идентификаторов связанных записей.

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

массив
Результаты ассоциации.

См. также

DboSource::_fetchHasMany()

fetchResult()source public

fetchResult( )

Извлекает следующую строку из текущего набора результатов.

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

boolean

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 необязательно массив()
Предоставленный список полей.
boolean $quote необязательно true
Если false, возвращает массив полей без кавычек

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

массив

flushMethodCache()source public

flushMethodCache( )

Очищает кэш методов. Эти кэши используются DboSource::name() и DboSource::conditions()

flushQueryCache()source public

flushQueryCache( )

Очищает кэши запросов.

fullTableName()source public

fullTableName( Model|string $model , boolean $quote true , boolean $schema true )

Получение полного имени таблицы, включая префикс.

Параметры

Model|строка $model
Либо объект модели, либо строка имени таблицы.
boolean $quote необязательно true
Требуется ли цитирование имени таблицы.
boolean $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 Массив информации о queryData, содержащий ключи, похожие на Model::find().
boolean $external
Включает ли запрос ассоциации внешний источник данных.

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

смешанное

Строка, представляющая запрос. True, когда $external равен false, а ассоциация $type равна 'hasOne' или 'belongsTo'.


getConnection()source public

getConnection( )

Получение базового объекта подключения.

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

PDO

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.

getLog()source public

getLog( boolean $sorted false , boolean $clear true )

Получить журнал запросов в виде массива.

Параметры

boolean $sorted необязательно false
Получить запросы, отсортированные по времени выполнения, по умолчанию false.
boolean $clear необязательно true
Если True, существующий журнал будет очищен.

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

массив
Массив выполненных запросов

getQueryCache()source public

getQueryCache( string $sql , array $params array() )

Возвращает результат SQL-запроса, если он уже кэширован.

Параметры

строка $sql
SQL-запрос
массив $params необязательно массив()
параметры запроса, привязанные в качестве значений

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

смешанное
Результаты запроса, если он кэширован, в противном случае false

getVersion()source public

getVersion( )

Получение строки версии сервера базы данных.

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

строка
Версия базы данных
END_OF_DOCUMENT_MARKER

group()source public

group( string|array $fields , Model $Model null )

Создать предложение GROUP BY SQL.

Параметры

строка|массив $fields
Поля GROUP BY
Model $Model опционально null
Модель для получения полей GROUP BY.

Возвращает

строка
Предложение GROUP BY или null.

hasAny()source public

hasAny( Model $Model , string $sql )

Проверяет, содержит ли указанная таблица записи, соответствующие указанному SQL

Параметры

Model $Model
Модель для поиска
строка $sql
Предложение WHERE SQL (только условие, а не часть "WHERE")

Возвращает

boolean
Истина, если таблица содержит соответствующую запись, иначе ложь

hasResult()source public

hasResult( )

Проверяет, является ли результат допустимым

Возвращает

boolean
Истина, если результат допустим, иначе ложь

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.

Возвращает

boolean

introspectType()source public

introspectType( string $value )

Угадывает тип данных массива

Параметры

строка $value
Значение для проверки типа данных.

Возвращает

строка

isConnected()source public

isConnected( )

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

Возвращает

boolean
Истина, если база данных подключена, иначе ложь

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 в правильном формате для конкретной базы данных.

Параметры

целое число $limit
Предел возвращаемых результатов
целое число $offset опционально null
Смещение, с которого следует начинать результаты

Возвращает

строка
SQL-предложение LIMIT/OFFSET

logQuery()source public

logQuery( string $sql , array $params array() )

Логирование заданного SQL-запроса.

Параметры

строка $sql
SQL-запрос
массив $params опционально array()
Значения, привязанные к запросу (подготовленные запросы)

name()source public

name( mixed $data )

Возвращает заключенное в кавычки имя $data для использования в SQL-запросе. Удаляет поля из SQL-функций перед заключением в кавычки.

Результаты этого метода хранятся в кэше памяти. Это повышает производительность, но из-за того, что метод использует алгоритм хэширования, могут возникать коллизии. Установка DboSource::$cacheMethods в false отключит кэш памяти.

Параметры

смешанный $data

Строка со столбцом для заключения в кавычки, массив столбцов для заключения в кавычки или объект из DboSource::expression() или DboSource::identifier()

Возвращает

строка
SQL-поле

nestedTransactionSupported()source public

nestedTransactionSupported( )

Проверяет, поддерживает ли сервер вложенные транзакции

Возвращает

boolean

order()source public

order( array|string $keys , string $direction 'ASC' , Model $Model null )

Возвращает предложение ORDER BY в виде строки.

Параметры

массив|строка $keys
Ссылка на поле, как ключ (например, Post.title)
строка $direction опционально 'ASC'
Направление (ASC или DESC)
Model $Model опционально null
Ссылка на модель (используется для поиска виртуального поля)

Возвращает

строка
Предложение ORDER BY
END_OF_DOCUMENT_MARKER

prepareFields()source public

prepareFields( Model $Model , array $queryData )

Подготавливает поля, необходимые для SQL-запроса.

Если поля не заданы, возвращаются все поля из $Model.

Параметры

Model $Model
Модель для подготовки.
массив $queryData
Массив данных запроса, содержащий ключи, похожие на ключи в Model::find().

Возвращает

массив
Массив, содержащий SQL-поля.

query()source public

query( )

Абстракция запроса к источнику данных.

Возвращает

ресурс
Идентификатор ресурса результата.

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
Связанный объект модели.
строка $type
Тип ассоциации, один из типов ассоциаций модели, например, hasMany.
строка $association
Имя ассоциации.
массив $assocData
Данные ассоциации.
массив $queryData
$queryData — массив данных запроса, содержащий ключи, аналогичные ключам в Model::find().
логическое $external
Является ли запрос ассоциации на внешний источник данных.
массив $resultSet
$resultSet — существующие результаты.
целое $recursive
Количество уровней ассоциации.
массив $stack
Список объединенных моделей.

Возвращает

смешанное

Выбрасывает

CakeException
при невозможности создать результаты.

rawQuery()source public

rawQuery( string $sql , array $params array() )

Выполняет заданное SQL-выражение.

Параметры

строка $sql
SQL-запрос
массив $params опционально массив()
Дополнительные параметры запроса.

Возвращает

смешанное
Ресурс или объект, представляющий результат набора, или false при ошибке.

read()source public

read( Model $Model , array $queryData array() , integer $recursive null )

"Чтение" в CRUD

Считывает запись(и) из базы данных.

Параметры

Model $Model
Объект модели, для которой предназначен запрос.
массив $queryData опционально массив()
Массив данных запроса, содержащий ключи, аналогичные ключам в Model::find().
целое $recursive опционально null
Количество уровней ассоциации

Возвращает

смешанное
false при ошибке/неудачи. Массив результатов при успехе.

Переопределяет

DataSource::read()

readTableParameters()source public

readTableParameters( string $name )

Чтение дополнительных параметров таблицы

Параметры

строка $name
Имя таблицы для чтения.

Возвращает

массив

reconnect()source public

reconnect( array $config array() )

Подключение к серверу базы данных с опциональными новыми настройками.

Параметры

массив $config опционально массив()
Массив, определяющий новые параметры конфигурации.

Возвращает

логическое
True при успехе, false при неудаче.

renderJoinStatement()source public

renderJoinStatement( array $data )

Возвращает конечное SQL-выражение JOIN.

Параметры

массив $data
Данные для генерации выражения JOIN.

Возвращает

строка

renderStatement()source public

renderStatement( string $type , array $data )

Возвращает конечное SQL-выражение, собрав компоненты в правильном порядке.

Параметры

строка $type
Тип выполняемого запроса (например, select, create, update, delete, schema, alter).
массив $data
Массив данных для вставки в запрос.

Возвращает

строка|null
Сгенерированное SQL-выражение для выполнения, иначе null.

resetSequence()source public

resetSequence( string $table , string $column )

Сброс последовательности на основе максимального значения в столбце $column. Полезно для сброса последовательностей после использования insertMulti().

Этот метод должен быть реализован источниками данных, требующими использования последовательностей.

Параметры

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

Возвращает

логическое
Успешно.

resolveKey()source public

resolveKey( Model $Model , string $key , string $assoc null )

Возвращает ключ в формате "Модель.поле" (например, Post.title или Country.name).

Параметры

Model $Model
Модель для получения ключа.
строка $key
Поле ключа.
строка $assoc опционально null
Имя ассоциации.

Возвращает

строка

Переопределяет

DataSource::resolveKey()

rollback()source public

rollback( )

Откат транзакции

Возвращает

логическое

True при успехе, false при ошибке (если база данных/модель не поддерживает транзакции или транзакция не начата).


Переопределяет

DataSource::rollback()

showLog()source public

showLog( boolean $sorted false )

Выводит содержимое журнала запросов. В не-CLI среде отображается элемент sql_log. В CLI среде генерируется текстовый журнал.

Параметры

логическое $sorted опционально false
Сортировать запросы по времени выполнения (по умолчанию false).

truncate()source public

truncate( Model|string $table )

Удаляет все записи из таблицы и сбрасывает счетчик автоинкрементируемого первичного ключа (если применимо).

Параметры

Model|строка $table
Строка или класс модели, представляющие таблицу для обнуления.

Возвращает

логическое
SQL-выражение TRUNCATE TABLE, false, если не применимо.

update()source public

update( Model $Model , array $fields array() , array $values null , mixed $conditions null )

Генерирует и выполняет SQL-запрос UPDATE для заданной модели, полей и значений. Для баз данных, не поддерживающих псевдонимы в запросах UPDATE.

Параметры

Model $Model
Модель для обновления.
массив $fields опционально массив()
Поля для обновления.
массив $values опционально null
Значения полей.
смешанное $conditions опционально null
Условия для обновления. Если не пусто, $values не будут обрамлены кавычками.

Возвращает

логическое
Успешно.

Переопределяет

DataSource::update()

value()source public

value( string $data , string $column null , boolean $null true )

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

Параметры

строка $data
Строка, подлежащая подготовке для использования в операторе SQL
строка $column дополнительный null
Тип данных столбца, в который будут вставлены эти данные.
булево $null дополнительный true
Столбец допускает значения NULL

Возвращает

строка
Заключение в кавычки и экранированные данные

Наследуемые методы из DataSource

_cacheDescription()source protected

_cacheDescription( string $object , mixed $data null )

Кэширование описания DataSource

Параметры

строка $object
Имя объекта (модели) для кэширования
смешанный $data дополнительный null
Описание модели, обычно строка или массив

Возвращает

смешанный

column()source public

column( string $real )

Преобразование типов столбцов в базовые типы

Параметры

строка $real
Действительный тип столбца (например, "varchar(255)")

Возвращает

строка
Абстрактный тип столбца (например, "строка")

describe()source public

describe( Model|string $model )

Возвращает описание модели (метаданные) или null, если не найдено.

Параметры

Model|строка $model
Модель для описания.

Возвращает

массив|null
Массив метаданных для $model

enabled()source public

enabled( )

Проверка, удовлетворяют ли условия для доступности DataSource. Часто используется из connect() для проверки поддержки перед установлением соединения.

Возвращает

булево
Удовлетворяют ли условия DataSource для использования.

getSchemaName()source public

getSchemaName( )

Возвращает имя схемы. Переопределите в подклассах.

Возвращает

строка|null
Имя схемы

insertQueryData()source public

insertQueryData( string $query , array $data , string $association , Model $Model , array $stack )

Заменяет заполнитель {$__cakeID__$} и {$__cakeForeignKey__$} в данных запроса.

Параметры

строка $query
Строка запроса, требующая замены.
массив $data
Массив данных со значениями, которые будут вставлены в места заполнителей.
строка $association
Имя модели ассоциации, подлежащей замене.
Model $Model
Экземпляр модели.
массив $stack
Стек контекста.

Возвращает

смешанный
Строка данных запроса с заменёнными заполнителями или false при ошибке.

listSources()source public

listSources( mixed $data null )

Кэширует/возвращает кэшированные результаты для дочерних экземпляров

Параметры

смешанный $data дополнительный null
Не используется в этом классе.

Возвращает

массив|null
Массив доступных источников в этом источнике данных.

setConfig()source public

setConfig( array $config array() )

Устанавливает конфигурацию для DataSource. Объединяет информацию $config с _baseConfig и существующим свойством $config.

Параметры

массив $config дополнительный array()
Массив конфигурации

Наследуемые методы из CakeObject

_mergeVars()source protected

_mergeVars( array $properties , string $class , boolean $normalize true )

Объединяет свойство $property этого объекта со свойством в определении $class. Значение свойства этого класса будет объединено поверх $class'.

Это обеспечивает некоторую магию DRY, предоставляемую CakePHP. Если вы хотите это отключить, переопределите этот метод как пустую функцию.

Параметры

массив $properties
Имя свойств для объединения.
строка $class
Класс для объединения свойства с.
булево $normalize дополнительный true
Установите в true, чтобы выполнить свойства через Hash::normalize() перед объединением.

_set()source protected

_set( array $properties array() )

Разрешает установку нескольких свойств объекта в одной строке кода. Будут установлены только свойства, которые являются частью объявления класса.

Параметры

массив $properties дополнительный array()
Ассоциативный массив, содержащий свойства и соответствующие значения.

_stop()source protected

_stop( integer|string $status 0 )

Останов выполнения текущего скрипта. Оборачивает exit(), что упрощает тестирование.

Параметры

целое число|строка $status дополнительный 0
см. http://php.net/exit для значений

dispatchMethod()source public

dispatchMethod( string $method , array $params array() )

Вызывает метод этого объекта с заданными параметрами. Предоставляет OO оболочку для call_user_func_array

Параметры

строка $method
Имя вызываемого метода
массив $params дополнительный array()
Список параметров для использования при вызове $method

Возвращает

смешанный
Возвращает результат вызова метода

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() для получения дополнительной информации о областях ведения журнала.

Возвращает

булево
Успешность записи в журнал

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 дополнительный array()

Если массив содержит ключ "return", он устанавливает AutoRender в true. Также может использоваться для отправки данных GET/POST и именованных/переданных аргументов.

Возвращает

смешанный

Булево значение true или false при успехе/ошибке или содержимое рендеренного действия, если в $extra установлен ключ 'return'.


END_OF_DOCUMENT_MARKER ```

toString()source public

toString( )

Преобразование CakeObject в строку. Каждый класс может переопределять этот метод по необходимости.

Возвращает

string
Название этого класса

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

$_connectionsource

protected array

Ссылка на физическое подключение этого источника данных

null

$_methodCacheChangesource

protected boolean

Указывает, были ли изменения в кэшированных результатах методов этого класса. Это будет использоваться для хранения в более устойчивом кэше.

false

$_queriesCntsource

protected integer

Количество запросов.

$_queriesLogsource

protected array

Журнал запросов, выполненных этим источником данных

array()

$_queriesLogMaxsource

protected integer

Максимальное количество элементов в журнале запросов

Это сделано для предотвращения того, чтобы журнал запросов занимал слишком много памяти.

200

$_queriesTimesource

protected integer

Общее время выполнения всех запросов.

null

$_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
)

$_resultsource

protected array

Результат

null

$_sqlBoolOpssource

protected array

Набор допустимых булевых операций SQL, используемых в операторе WHERE

array('and', 'or', 'not', 'and not', 'or not', 'xor', '||', '&&')

$_sqlOpssource

protected array

Набор допустимых операций SQL, используемых в операторе WHERE

array('like', 'ilike', 'rlike', 'or', 'not', 'in', 'between', 'regexp', 'similar to')

$_transactionNestingsource

protected integer

Указывает уровень вложенных транзакций

$affectedsource

public string

Строка, содержащая количество строк, затронутых последней операцией SQL.

null

$aliassource

public string

Ключевое слово базы данных, используемое для присвоения псевдонимов идентификаторам.

'AS '

$cacheMethodssource

public boolean

Кэшировать ли результаты DboSource::name() и DboSource::fields() в кэше памяти. Установите в false, чтобы отключить использование кэша памяти.

true

$configKeyNamesource

public string

Имя ключа конфигурации источника данных

null

$descriptionsource

public string

Строка описания для этого источника данных базы данных.

"Database Data Source"

$endQuotesource

public string

Заключительный символ, используемый этим источником данных для цитируемых идентификаторов.

null

$fieldParameterssource

public array

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

array()

$fullDebugsource

public boolean

Печатать полную информацию отладки запроса?

false

$indexsource

public array

определение индекса, стандартный cake, первичный, индекс, уникальный

array('PRI' => 'primary', 'MUL' => 'index', 'UNI' => 'unique')

$methodCachesource

public static array

Кэширует результаты операций разбора запросов. Кэшированные результаты как для DboSource::name(), так и для DboSource::fields() будут храниться здесь.

Кэширование методов использует md5 (по умолчанию) для построения ключей кэша. Если у вас проблемы с коллизиями, попробуйте другой алгоритм хеширования, переопределив DboSource::cacheMethodHasher или установив DboSource::$cacheMethods в false.

array()

$numRowssource

public integer

Количество строк в текущем наборе результатов

null

$startQuotesource

public string

Начальный символ, используемый этим источником данных для цитируемых идентификаторов.

null

$tableParameterssource

public array

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

array()

$tooksource

public integer

Время, затраченное на последний запрос

null
END_OF_DOCUMENT_MARKER

$useNestedTransactionssource

public boolean

Флаг для поддержки вложенных транзакций. Если он установлен в false, вы сможете использовать методы транзакций (begin/commit/rollback), но будет выполнена только глобальная транзакция.

false

$virtualFieldSeparatorsource

public string

Разделитель строк для составления виртуальных полей

'__'

© 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.
https://api.cakephp.org/2.9/class-DboSource.html

Spec-Zone.ru

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