Spec-Zone.ru › CakePHP 2.7

Класс DboSource

DboSource

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

Объект
Расширенный DataSource
Расширенный DboSource

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

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

Детали метода

__constructsource public

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

Конструктор

Параметры

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

Исключения

MissingConnectionException
в случае, если не удаётся установить соединение.

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

DataSource::__construct()

__destructsource public

__destruct( )

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

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

DataSource::__destruct()

_beginNestedsource protected

_beginNested( )

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

Возвращает

boolean
bool

_buildFieldParameterssource protected

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

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

Параметры

строка $columnString
Неполная строка столбца
массив $columnData
Массив данных столбца.
строка $position
Тип позиции. Обычно 'beforeDefault' или 'afterDefault'

Возвращает

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

_commitNestedsource protected

_commitNested( )

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

Возвращает

boolean
bool

_constructVirtualFieldssource protected

_constructVirtualFields( Model $Model , string $alias , array $fields )

Преобразует виртуальные поля модели в SQL-выражения для последующего извлечения

Параметры

Model $Model
Модель для получения виртуальных полей.
строка $alias
Псевдоним таблицы
массив $fields
Виртуальные поля для использования в запросе

Возвращает

array
Массив

_dropTablesource protected

_dropTable( type $table )

Генерирует оператор "удаление таблицы" для одной таблицы

Параметры

тип $table
Имя таблицы для удаления

Возвращает

string
SQL-выражение удаления таблицы

_executesource protected

_execute( string $sql , array $params array() , array $prepareOptions array() )

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

Параметры

строка $sql
SQL-выражение
массив $params необязательно массив()
Список параметров для привязки к запросу
массив $prepareOptions необязательно массив()
Параметры, которые будут использоваться в операторе prepare

Возвращает

mixed
PDOStatement, если запрос выполняется без проблем, true в случае успешного запроса, false, если запрос не вернул строк (например, CREATE), иначе false

Исключения

PDOException
PDOException

_fetchHasAndBelongsToManysource protected

_fetchHasAndBelongsToMany( Model $Model , string $query , array $ids , string $association )

Извлекает ассоциации 'hasAndBelongsToMany'.

Параметры

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

Возвращает

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

_fetchHasManysource protected

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

Извлекает ассоциации 'hasMany'.

Параметры

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

Возвращает

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

_filterResultssource protected

_filterResults( array $resultSet , Model $Model , array $filtered array() )

Пропускает результаты ассоциации через фильтры afterFind соответствующей модели.

Основная модель всегда исключается, так как фильтрация выполняется позже в Model::_filterResults().

Параметры

массив $resultSet
$resultSet Ссылка на результат, который должен быть отфильтрован.
Model $Model
Экземпляр модели для обработки.
массив $filtered необязательно массив()
Список классов, которые уже были отфильтрованы, для пропуска.

Возвращает

array
Массив результатов, отфильтрованных через $Model->afterFind.

_filterResultsInclusivesource protected

_filterResultsInclusive( array $resultSet , Model $Model , array $toBeFiltered array() )

Пропускает результаты ассоциации через фильтры afterFind соответствующей модели.

Аналогично DboSource::_filterResults(), но фильтрует только указанные модели. Основная модель не может быть указана, так как этот вызов DboSource::_filterResults() выполняется внутри.

Параметры

массив $resultSet
$resultSet Ссылка на результат, который должен быть отфильтрован.
Model $Model
Экземпляр модели для обработки.
массив $toBeFiltered необязательно массив()
Список классов для фильтрации.

Возвращает

array
Массив результатов, отфильтрованных через $Model->afterFind.

_getJoinssource protected

_getJoins( Model $Model )

Возвращает массив SQL-условий JOIN из ассоциаций модели.

Параметры

Model $Model
Модель для получения условий JOIN.

Возвращает

array
Массив

_matchRecordssource protected

_matchRecords( Model $Model , mixed $conditions null )

Возвращает список идентификаторов записей для заданных условий. Используется для обновлений и удаления нескольких записей в базах данных, которые не поддерживают псевдонимы в запросах UPDATE/DELETE.

Параметры

Model $Model
Модель для поиска соответствующих записей.
смешанный $conditions необязательно null
Условия для сопоставления.

Возвращает

array
Список идентификаторов записей
END_OF_DOCUMENT_MARKER

_mergeAssociationsource protected

_mergeAssociation( array $data , array $merge , string $association , string $type , boolean $selfJoin false )

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

Параметры

массив $data
$data Объединяемые данные.
массив $merge
$merge Данные для объединения.
строка $association
Имя ассоциации для объединения.
строка $type
Тип ассоциации
логическое $selfJoin необязательно false
Является ли это само-соединением.

_mergeConditionssource protected

_mergeConditions( mixed $query , mixed $assoc )

Объединяет набор условий в виде строки/массива.

Параметры

смешанный тип $query
Запрос для объединения условий.
смешанный тип $assoc
Имена ассоциаций.

Возвращает

array
массив

_mergeHasManysource protected

_mergeHasMany( array $resultSet , array $assocResultSet , string $association , Model $Model )

Объединить результаты ассоциаций 'hasMany'.

Примечание: эта функция также обрабатывает форматирование данных.

Параметры

массив $resultSet
$resultSet Данные для объединения.
массив $assocResultSet
Данные для объединения.
строка $association
Имя объединяемой модели.
Model $Model
Модель, к которой присоединяется.

_parseKeysource protected

_parseKey( string $key , mixed $value , Model $Model null )

Извлекает идентификатор Model.field и оператор SQL-условия из строки, форматирует и вставляет значения, а затем объединяет их в фрагмент SQL.

Параметры

строка $key
Фрагмент SQL-ключа, содержащий поле и необязательный оператор SQL
смешанный тип $value
Значение(я), которые нужно вставить в строку
Model $Model необязательно null
Объект модели, инициирующий запрос

Возвращает

string
строка

_prepareUpdateFieldssource protected

_prepareUpdateFields( Model $Model , array $fields , boolean $quoteValues true , boolean $alias false )

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

Параметры

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

Возвращает

array
Поля и значения, процитированные и подготовленные

_quoteFieldssource protected

_quoteFields( string $conditions )

Цитирует поля Model.fields

Параметры

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

Возвращает

string
или false, если совпадений нет

_quoteMatchedFieldsource protected

_quoteMatchedField( string $match )

Вспомогательная функция для цитирования совпадений Model.fields из вызова preg_replace_callback

Параметры

строка $match
Совпавший фрагмент

Возвращает

string
Процитированная строка

_rollbackNestedsource protected

_rollbackNested( )

Откатить вложенную транзакцию

Возвращает

boolean
bool

_scrubQueryDatasource protected

_scrubQueryData( array $data )

Внутренняя вспомогательная функция для удаления метаданных запроса в заданном массиве данных.

Параметры

массив $data
Данные для очистки.

Возвращает

array
массив

_writeQueryCachesource protected

_writeQueryCache( string $sql , mixed $data , array $params array() )

Записывает новый ключ для кэша запросов в оперативной памяти.

Параметры

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

alterSchemasource public

alterSchema( mixed $compare , string $table null )

Генерирует синтаксис изменения из CakeSchema::compare()

Параметры

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

Возвращает

boolean
bool

beginsource public

begin( )

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

Возвращает

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

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

DataSource::begin()

booleansource public

boolean( mixed $data , boolean $quote false )

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

Параметры

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

Возвращает

string|boolean
Преобразованное булевое значение

buildAssociationQuerysource public

buildAssociationQuery( Model $Model , array $queryData )

Создаёт SQL-запрос.

Это просто удобная обёртка над DboSource::buildStatement().

Параметры

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

Возвращает

string
Строка, содержащая SQL-запрос.

См. также

DboSource::buildStatement()

buildColumnsource public

buildColumn( array $column )

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

Параметры

массив $column
Массив, структура которого подобна следующему: array('name' => 'value', 'type' => 'value'[, options]), где опции могут быть 'default', 'length', или 'key'.

Возвращает

string
строка

buildIndexsource public

buildIndex( array $indexes , string $table null )

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

Параметры

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

Возвращает

array
массив

buildJoinStatementsource public

buildJoinStatement( array $join )

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

Параметры

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

Возвращает

string
Условие SQL JOIN, которое будет использоваться в запросе.

См. также

DboSource::renderJoinStatement()
DboSource::buildStatement()

buildStatementsource public

buildStatement( array $query , Model $Model )

Строит и генерирует SQL-запрос из массива. Обрабатывает завершающую очистку перед преобразованием.

Параметры

массив $query
Массив, определяющий SQL-запрос.
Model $Model
Объект модели, инициировавший запрос.

Возвращает

string
Исполнимый SQL-запрос.

См. также

DboSource::renderStatement()

buildTableParameterssource public

buildTableParameters( array $parameters , string $table null )

Форматирование параметров для создания таблицы

Параметры

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

Возвращает

array
массив

cacheMethodsource public

cacheMethod( string $method , string $key , mixed $value null )

Кэширует значение в methodCaches. Учитывает значение DboSource::$cacheMethods. Возвращает значение из кэша, если $value равен null.

Если кэширование отключено и происходит запись, возвращается значение $value. При чтении возвращается значение из кэша или null.

Параметры

строка $method
Имя метода, который кэшируется.
строка $key
Имя ключа для операции кэширования.
смешанный тип $value необязательно null
Значение для кэширования в памяти.

Возвращает

mixed
В случае ошибки null, иначе значение, если оно установлено.

calculatesource public

calculate( Model $Model , string $func , array $params array() )

Возвращает SQL-вычисление, например COUNT() или MAX().

Параметры

Model $Model
Модель для получения вычисляемого поля.
строка $func
Имя SQL-функции в нижнем регистре, например 'count' или 'max'.
массив $params необязательно array()
Параметры функции (все значения должны быть явно заключены в кавычки).

Возвращает

string
SQL-функцию вычисления

closesource public

close( )

Отключает базу данных, убивает соединение и отмечает его как закрытое.

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

DataSource::close()

commitsource public

commit( )

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

Возвращает

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

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

DataSource::commit()

conditionKeysToStringsource public

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

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

Параметры

массив $conditions
Массив или строка условий
булево $quoteValues необязательно true
Если true, значения должны быть заключены в кавычки
Model $Model необязательно null
Ссылка на экземпляр модели, выполняющей запрос

Возвращает

string
SQL-фрагмент

conditionssource 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
Ссылка на экземпляр модели, выполняющей запрос

Возвращает

string
SQL-фрагмент

createsource public

create( Model $Model , array $fields null , array $values null )

Операция "C" в CRUD

Создаёт новые записи в базе данных.

Параметры

Model $Model
Объект модели, для которой создаётся запись.
массив $fields необязательно null
Массив имён полей для вставки. Если null, используется $Model->data для генерации имён полей.
массив $values необязательно null
Массив значений с ключами, соответствующими полям. Если null, используется $Model->data для генерации значений.

Возвращает

boolean
Результат операции

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

DataSource::create()

createSchemasource public

createSchema( CakeSchema $schema , string $tableName null )

Генерирует схему базы данных для данного объекта Schema

Параметры

CakeSchema $schema
Экземпляр подкласса CakeSchema
строка $tableName необязательно null
Необязательно. Если указано, генерируется только таблица с заданным именем. В противном случае генерируются все таблицы, определённые в схеме.

Возвращает

string
строка

defaultConditionssource public

defaultConditions( Model $Model , string|array|boolean $conditions , boolean $useAlias true )

Создаёт набор стандартных условий из модели, если $conditions равен null/пустой. Если условия переданы, возвращаются эти условия. Если модель не существует и условия не переданы, возвращается null или false в зависимости от входного значения.

Параметры

Model $Model
Модель для получения условий.
строка|массив|булево $conditions
Массив условий, строка условий, null или false. Если массив условий или строка условий, эти условия будут возвращены. В других случаях будет проверка существования модели. Если модель не существует, возвращается null или false в зависимости от входного значения.
булево $useAlias необязательно true
Использовать псевдонимы моделей вместо имён таблиц при генерации условий

Возвращает

mixed
Значение null, false, $conditions или массив стандартных условий.

См. также

DboSource::update()
DboSource::conditions()

deletesource public

delete( Model $Model , mixed $conditions null )

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

Параметры

Model $Model
Модель, из которой удаляются данные
смешанный тип $conditions необязательно null
Условие. Если пустое, используется первичный ключ модели.

Возвращает

boolean
Результат операции

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

DataSource::delete()

disconnectsource public

disconnect( )

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

Возвращает

boolean
Всегда true

dropSchemasource public

dropSchema( CakeSchema $schema , string $table null )

Генерирует SQL-запрос "drop table" для данного объекта Schema

Параметры

CakeSchema $schema
Экземпляр подкласса CakeSchema
строка $table необязательно null
Необязательно. Если указано, генерируется только таблица с заданным именем. В противном случае генерируются все таблицы, определённые в схеме.

Возвращает

string
строка
END_OF_DOCUMENT_MARKER

executesource public

execute( string $sql , array $options array() , array $params array() )

Выполняет запрос к базе данных с заданным SQL-выражением и получает метаданные о результате (затронутые строки, время выполнения, ошибки, количество строк в наборе результатов). Запрос также регистрируется. Если Configure::read('debug') установлено, регистрация отображается всегда, в противном случае — только при ошибках.

Параметры

  • log - Регистрировать ли запрос в памяти.

Параметры

строка $sql
SQL-выражение
массив $options необязательно массив()
Параметры для выполнения запроса.
массив $params необязательно массив()
Значения, которые нужно привязать к запросу.

Возвращает

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

expressionsource public

expression( string $expression )

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

Параметры

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

Возвращает

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

fetchAllsource public

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

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

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

Параметры

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

Параметры

строка $sql
SQL-выражение
массив|логическое $params необязательно массив()
Либо параметры, которые нужно привязать в качестве значений для SQL-выражения, либо логическое значение для управления кэшированием запросов.
массив $options необязательно массив()
Дополнительные параметры для запроса.

Возвращает

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

fetchAssociatedsource public

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

Получить ассоциированные записи 'hasMany'.

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

Параметры

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

Возвращает

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

См. также

DboSource::_fetchHasMany()

fetchResultsource public

fetchResult( )

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

Возвращает

boolean
bool

fetchRowsource public

fetchRow( string $sql null )

Возвращает строку из текущего набора результатов в виде массива

Параметры

строка $sql необязательно null
SQL-запрос для выполнения.

Возвращает

array
Извлеченная строка в виде массива

fetchVirtualFieldsource public

fetchVirtualField( array $result )

Изменяет массив $result, чтобы поместить виртуальные поля в запись модели, где они должны быть

Параметры

массив $result
$result Ссылка на извлеченную строку

fieldsource public

field( string $name , string $sql )

Возвращает одно поле первой строки результатов заданного SQL-запроса или false, если пусто.

Параметры

строка $name
Имя поля, которое нужно получить.
строка $sql
SQL-запрос.

Возвращает

mixed
Значение считанного поля или false, если не найдено.

fieldssource public

fields( Model $Model , string $alias null , mixed $fields array() , boolean $quote true )

Генерирует список полей SQL-запроса.

Параметры

Model $Model
Модель, для которой нужно получить поля.
строка $alias необязательно null
Псевдоним таблицы
смешанный $fields необязательно массив()
Предоставленный список полей.
логическое $quote необязательно true
Если false, возвращает массив полей без кавычек

Возвращает

array
массив

flushMethodCachesource public

flushMethodCache( )

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

fullTableNamesource public

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

Возвращает полное имя таблицы, включая префикс

Параметры

Model|строка $model
Либо объект модели, либо строка с именем таблицы.
логическое $quote необязательно true
Нужно ли имя таблицы в кавычках?
логическое $schema необязательно true
Нужно ли включать имя схемы?

Возвращает

string
Полное имя таблицы в кавычках

generateAssociationQuerysource public

generateAssociationQuery( Model $Model , Model|null $LinkModel , string $type , string $association , array $assocData , array $queryData , boolean $external )

Генерирует запрос или часть запроса из одной модели или двух связанных моделей.

Создает строку, содержащую шаблон SQL-запроса.

Параметры

Model $Model
Основной объект модели.
Model|null $LinkModel
Связанный объект модели.
строка $type
Тип ассоциации, один из типов ассоциаций модели, например hasMany.
строка $association
Имя ассоциации.
массив $assocData
Данные ассоциации.
массив $queryData
$queryData Массив данных запроса, содержащий ключи, аналогичные ключам в Model::find().
логическое $external
Входит ли запрос ассоциации во внешнюю базу данных.

Возвращает

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

getConnectionsource public

getConnection( )

Получить базовый объект соединения.

Возвращает

PDO
PDO

getConstraintsource 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.

Возвращает

array
Массив условий, определяющий ограничение между $Model и $LinkModel.
END_OF_DOCUMENT_MARKER

getLogsource public

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

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

Параметры

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

Возвращает

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

getQueryCachesource public

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

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

Параметры

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

Возвращает

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

getVersionsource public

getVersion( )

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

Возвращает

string
Версия базы данных

groupsource public

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

Создать SQL-оператор GROUP BY.

Параметры

string|array $fields
Поля для GROUP BY
Model $Model необязательно null
Модель для получения полей GROUP BY.

Возвращает

string
Оператор GROUP BY или null.

hasAnysource public

hasAny( Model $Model , string $sql )

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

Параметры

Model $Model
Модель для поиска
string $sql
SQL условие WHERE (только условие, без "WHERE")

Возвращает

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

hasResultsource public

hasResult( )

Проверить, является ли результат корректным.

Возвращает

boolean
True, если результат корректный, иначе false

identifiersource public

identifier( string $identifier )

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

Параметры

string $identifier
SQL выражение, используемое как идентификатор

Возвращает

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

indexsource public

index( string $model )

Возвращает массив индексов в указанном источнике данных.

Параметры

string $model
Имя модели для проверки

Возвращает

array
Поля в таблице. Ключи — столбец и уникальность

insertMultisource public

insertMulti( string $table , array $fields , array $values )

Вставляет несколько значений в таблицу.

Параметры

string $table
Таблица, в которую вставляются данные.
array $fields
Массив имен полей/столбцов, которые вставляются.
array $values
Массив значений для вставки. Значения должны быть массивом строк. Каждая строка должна содержать значения, ключи которых соответствуют имени столбца. Каждая строка должна содержать значения в том же порядке, что и в $fields.

Возвращает

boolean
bool

introspectTypesource public

introspectType( string $value )

Определяет тип данных массива.

Параметры

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

Возвращает

string
string

isConnectedsource public

isConnected( )

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

Возвращает

boolean
True, если база данных подключена, иначе false

lastAffectedsource public

lastAffected( mixed $source null )

Возвращает количество изменённых строк в предыдущей операции с базой данных. Если предыдущая операция не существует, возвращает false.

Параметры

mixed $source необязательно null
Источник для проверки.

Возвращает

integer
Количество изменённых строк

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

DataSource::lastAffected()

lastErrorsource public

lastError( PDOStatement $query null )

Возвращает отформатированное сообщение об ошибке из предыдущей операции с базой данных.

Параметры

PDOStatement $query необязательно null
запрос для извлечения ошибки, если она есть

Возвращает

string
Сообщение об ошибке с номером ошибки

lastInsertIdsource public

lastInsertId( mixed $source null )

Возвращает ID, сгенерированный в предыдущей операции INSERT.

Параметры

mixed $source необязательно null
Источник для получения ID.

Возвращает

mixed
mixed

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

DataSource::lastInsertId()

lastNumRowssource public

lastNumRows( mixed $source null )

Возвращает количество строк в предыдущем наборе результатов. Если предыдущий набор результатов не существует, возвращает false.

Параметры

mixed $source необязательно null
Не используется

Возвращает

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

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

DataSource::lastNumRows()

lengthsource public

length( string $real )

Возвращает длину описания столбца, соответствующего базе данных, или null, если длина неизвестна.

Параметры

string $real
Тип столбца на уровне базы данных (например, "varchar(255)")

Возвращает

mixed
Целое число или строка, представляющая длину столбца, или null для неизвестной длины.

limitsource public

limit( integer $limit , integer $offset null )

Возвращает оператор ограничения в формате, соответствующем конкретной базе данных.

Параметры

integer $limit
Ограничение на количество возвращаемых результатов
integer $offset необязательно null
Смещение для начала возвращаемых результатов

Возвращает

string
SQL оператор ограничения/смещения

logQuerysource public

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

Записать данный SQL запрос.

Параметры

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

namesource public

name( mixed $data )

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

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

Параметры

mixed $data
Строка с именем столбца, массив имен столбцов или объект из DboSource::expression() или DboSource::identifier()

Возвращает

string
SQL поле

nestedTransactionSupportedsource public

nestedTransactionSupported( )

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

Возвращает

boolean
bool

ordersource public

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

Возвращает строку ORDER BY.

Параметры

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

Возвращает

string
Строка ORDER BY

prepareFieldssource public

prepareFields( Model $Model , array $queryData )

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

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

Параметры

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

Возвращает

array
Массив SQL полей.

querysource public

query( )

Абстракция запроса DataSource

Возвращает

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

queryAssociationsource public

queryAssociation( Model $Model , Model $LinkModel , string $type , string $association , array $assocData , array $queryData , boolean $external , array $resultSet , integer $recursive , array $stack )

Запрос ассоциаций.

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

  • Ассоциации 'hasMany' без установленного лимита: Извлечение, фильтрация и слияние выполняются рекурсивно для каждого уровня.
  • Ассоциации 'hasAndBelongsToMany': Извлечение и фильтрация выполняются независимо от установленного уровня (рекурсии).

Параметры

Model $Model
Основной объект модели.
Model $LinkModel
Связанный объект модели.
string $type
Тип ассоциации, один из типов ассоциаций модели, например, hasMany.
string $association
Имя ассоциации.
array $assocData
Данные ассоциации.
array $queryData
$queryData Массив данных запроса, содержащий ключи, аналогичные Model::find().
boolean $external
Является ли запрос ассоциации на внешнем источнике данных.
array $resultSet
$resultSet Существующие результаты.
integer $recursive
Количество уровней ассоциации.
array $stack
Список соединённых моделей.

Возвращает

mixed
mixed

Исключения

CakeException
возникает, когда результаты не могут быть созданы.

rawQuerysource public

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

Выполняет указанный SQL-запрос.

Параметры

string $sql
SQL-запрос
array $params optional array()
Дополнительные параметры запроса.

Возвращает

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

readsource public

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

"R" в CRUD

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

Параметры

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

Возвращает

mixed
boolean false при ошибке. Массив результатов при успехе.

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

DataSource::read()

readTableParameterssource public

readTableParameters( string $name )

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

Параметры

string $name
Имя таблицы для чтения.

Возвращает

array
array

reconnectsource public

reconnect( array $config array() )

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

Параметры

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

Возвращает

boolean
True при успехе, false при ошибке

renderJoinStatementsource public

renderJoinStatement( array $data )

Генерирует окончательное SQL-утверждение JOIN

Параметры

array $data
Данные для генерации утверждения join.

Возвращает

string
string

renderStatementsource public

renderStatement( string $type , array $data )

Генерирует окончательное SQL-утверждение, объединив компоненты в правильном порядке

Параметры

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

Возвращает

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

resetSequencesource public

resetSequence( string $table , string $column )

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

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

Параметры

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

Возвращает

boolean
Успех.

resolveKeysource public

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

Возвращает ключ в формате строки Model.fieldname (например, Post.title или Country.name).

Параметры

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

Возвращает

string
string

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

DataSource::resolveKey()

rollbacksource public

rollback( )

Откатывает транзакцию

Возвращает

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

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

DataSource::rollback()
END_OF_DOCUMENT_MARKER

showLogsource public

showLog( boolean $sorted false )

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

Параметры

boolean $sorted необязательно false
Сортировать запросы по времени выполнения, по умолчанию false.

truncatesource public

truncate( Model|string $table )

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

Параметры

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

Возвращает

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

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

valuesource public

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

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

Параметры

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

Возвращает

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

Методы, унаследованные от DataSource

_cacheDescriptionsource protected

_cacheDescription( string $object , mixed $data null )

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

Параметры

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

Возвращает

mixed
mixed

columnsource public

column( string $real )

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

Параметры

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

Возвращает

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

describesource public

describe( Model|string $model )

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

Параметры

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

Возвращает

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

enabledsource public

enabled( )

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

Возвращает

boolean
Выполнены ли условия использования Datasource.

getSchemaNamesource public

getSchemaName( )

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

Возвращает

string|null
Имя схемы

insertQueryDatasource 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 при ошибке.

listSourcessource public

listSources( mixed $data null )

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

Параметры

mixed $data необязательно null
Не используется в этом классе.

Возвращает

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

setConfigsource public

setConfig( array $config array() )

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

Параметры

array $config необязательно array()
Массив конфигурации.

Методы, унаследованные от Object

_mergeVarssource protected

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

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

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

Параметры

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

_setsource protected

_set( array $properties array() )

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

Параметры

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

_stopsource protected

_stop( integer|string $status 0 )

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

Параметры

integer|string $status необязательно 0
см. http://php.net/exit для значений

dispatchMethodsource public

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

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

Параметры

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

Возвращает

mixed
Результат вызова метода
END_OF_DOCUMENT_MARKER

logsource public

log( string $msg , integer $type LOG_ERR , null|string|array $scope null )

Метод для записи сообщения в CakeLog. Подробнее о записи в журналы см. в CakeLog::write().

Параметры

строка $msg
Сообщение для журнала
целое число $type необязательно LOG_ERR
Константа типа ошибки. Определена в app/Config/core.php.
null|строка|массив $scope необязательно null
Область(и), в которой создается сообщение журнала. Подробнее об областях ведения журналов см. в CakeLog::config().

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

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

requestActionsource public

requestAction( string|array $url , array $extra array() )

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

Под капотом этот метод использует Router::reverse() для преобразования параметра $url в строковый URL. Вы должны использовать форматы URL, совместимые с Router::reverse().

Передача данных POST и GET

Данные POST и GET могут быть смоделированы в requestAction. Используйте $extra['url'] для данных GET. Параметр $extra['data'] позволяет смоделировать данные POST.

Параметры

строка|массив $url
Строковый или основанный на массиве URL. В отличие от других массивов URL в CakePHP, этот URL не будет автоматически обрабатывать переданные и именованные аргументы в параметре $url.
массив $extra необязательно массив()
Если массив включает ключ "return", он устанавливает AutoRender в true. Также может использоваться для отправки данных GET/POST и именованных/переданных аргументов.

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

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

toStringsource public

toString( )

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

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

string
Имя этого класса

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

$_connectionsource

protected массив

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

null

$_methodCacheChangesource

protected логическое

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

false

$_queriesCntsource

protected целое число

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

$_queriesLogsource

protected массив

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

array()

$_queriesLogMaxsource

protected целое число

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

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

200

$_queriesTimesource

protected целое число

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

null

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

$_resultsource

protected массив

Результат

null

$_sqlOpssource

protected массив

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

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

$_transactionNestingsource

protected целое число

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

$affectedsource

public строка

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

null

$aliassource

public строка

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

'AS '

$cacheMethodssource

public логическое

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

true

$configKeyNamesource

public строка

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

null

$descriptionsource

public строка

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

"Database Data Source"

$endQuotesource

public строка

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

null

$fieldParameterssource

public массив

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

array()

$fullDebugsource

public логическое

Выводить полную отладочную информацию запроса?

false

$indexsource

public массив

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

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

$methodCachesource

public static массив

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

array()

$numRowssource

public целое число

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

null

$startQuotesource

public строка

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

null

$tableParameterssource

public массив

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

array()

$tooksource

public целое число

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

null

$useNestedTransactionssource

public логическое

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

false

$virtualFieldSeparatorsource

public string

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

'__'

Свойства, унаследованные от DataSource

$_baseConfigsource

protected array

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

array()

$_descriptionssource

protected array

Хранит ссылки на описания, загруженные источником данных

array()

$_sourcessource

protected array

Список источников (таблиц) в источнике данных

null

$_transactionStartedsource

protected boolean

Состоит ли этот источник данных в середине транзакции

false

$cacheSourcessource

public boolean

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

true

$configsource

public array

Конфигурация источника данных

array()

$connectedsource

public boolean

Подключены ли мы к источнику данных?

false

© 2005–2016 The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
http://api.cakephp.org/2.7/class-DboSource.html

Spec-Zone.ru

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