Spec-Zone.ru › CakePHP 2.7

Класс Sqlserver

Уровень Dbo для официального драйвера SQLServer Майкрософт

Уровень Dbo для MS SQL Server 2005 и выше. Требуется включение расширения pdo_sqlsrv.

Объект
Extended by Источник данных
Extended by Источник Dbo
Extended by Sqlserver
Пакет: Cake\Модель\Источник данных\База данных
Авторские права: Авторские права (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: Лицензия MIT
Ссылка: http://www.php.net/manual/en/ref.pdo-sqlsrv.php
Расположение: Cake/Model/Datasource/Database/Sqlserver.php

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

_dropTableисходный код защищённый

_dropTable( type $table )

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

Параметры

тип $table
Имя таблицы, которую нужно удалить

Возвращает

string
SQL-оператор drop table

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

DboSource::_dropTable()

_executeисходный код защищённый

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

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

Параметры

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

Возвращает

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

Исключения

PDOException
PDOException

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

DboSource::_execute()

_getPrimaryKeyисходный код защищённый

_getPrimaryKey( Model|string $model )

Убеждается, что будет возвращён первичный ключ

Параметры

Model|строка $model
Экземпляр модели имени таблицы

Возвращает

string
строка

buildColumnисходный код открытый

buildColumn( array $column )

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

Параметры

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

Возвращает

string
строка

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

DboSource::buildColumn()

buildIndexисходный код открытый

buildIndex( array $indexes , string $table null )

Форматирует индексы для создания таблицы.

Параметры

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

Возвращает

string
строка

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

DboSource::buildIndex()

columnисходный код открытый

column( mixed $real )

Преобразует типы столбцов уровня базы данных в базовые типы.

Параметры

смешанный $real
Строковое значение типа поля или объект Result из Sqlserver::describe()

Возвращает

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

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

DataSource::column()

connectисходный код открытый

connect( )

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

Возвращает

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

Исключения

MissingConnectionException
MissingConnectionException

createисходный код открытый

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

Генерирует и выполняет SQL-запрос INSERT для заданной модели, полей и значений. Удаляет столбец Identity (первичный ключ) из данных обновления перед возвращением родительскому классу, если значение пустое.

Параметры

Model $model
Модель, в которую необходимо вставить данные.
массив $fields необязательно null
Поля, которые нужно установить.
массив $values необязательно null
Значения, которые нужно установить.

Возвращает

array
массив

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

DboSource::create()

describeисходный код открытый

describe( Model|string $model )

Возвращает массив полей в заданном имени таблицы.

Параметры

Model|строка $model
Объект модели для описания или строка имени таблицы.

Возвращает

array
Поля в таблице. Ключи — имя и тип

Исключения

CakeException
CakeException

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

DataSource::describe()

enabledисходный код открытый

enabled( )

Проверяет установку/загрузку PDO SQL Server

Возвращает

boolean
bool

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

DataSource::enabled()

fetchResultисходный код открытый

fetchResult( )

Извлекает следующую строку из текущего набора результатов. Удаляет магическую переменную ROW_COUNTER.

Возвращает

mixed
смешанный

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

DboSource::fetchResult()

fieldsисходный код открытый

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

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

Параметры

Model $model
Модель, для которой нужно получить поля.
строка $alias необязательно null
Псевдоним имени таблицы
массив $fields необязательно массив()
Поля до сих пор.
булево $quote необязательно true
Нужно ли заключать идентификаторы в кавычки.

Возвращает

array
массив

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

DboSource::fields()

getSchemaNameисходный код открытый

getSchemaName( )

Получает имя схемы.

Возвращает

string
Имя схемы

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

DataSource::getSchemaName()

insertMultiисходный код открытый

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

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

Параметры

строка $table
Таблица, в которую нужно вставить данные.
строка $fields
Поля, которые нужно установить.
массив $values
Значения, которые нужно установить.

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

DboSource::insertMulti()

lastAffectedисходный код открытый

lastAffected( mixed $source null )

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

Параметры

смешанный $source необязательно null
Не используется

Возвращает

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

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

DboSource::lastAffected()

lengthsource public

length( mixed $length )

Обработка свойств длины, специфичных для SQLServer. SQLServer обрабатывает текстовые типы как nvarchar/varchar с длиной -1.

Параметры

mixed $length
Длина в виде строки или объект описания столбца.

Возвращает

mixed
null или целое число с длиной столбца.

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

DboSource::length()

limitsource public

limit( integer $limit , integer $offset null )

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

Параметры

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

Возвращает

string
Запрос с ограничением/смещением

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

DboSource::limit()

listSourcessource public

listSources( mixed $data null )

Возвращает массив источников (таблиц) в базе данных.

Параметры

mixed $data optional null
Имена

Возвращает

array
Массив имён таблиц в базе данных

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

DataSource::listSources()

readsource public

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

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

Параметры

Model $model
Модель для чтения
array $queryData optional array()
Данные запроса
integer $recursive optional null
Количество уровней

Возвращает

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

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

DboSource::read()

renderStatementsource public

renderStatement( string $type , array $data )

Строит окончательный SQL-запрос

Параметры

string $type
Тип запроса
array $data
Данные запроса

Возвращает

string
строка

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

DboSource::renderStatement()

resultSetsource public

resultSet( PDOStatement $results )

Строит карту столбцов, содержащихся в результате

Параметры

PDOStatement $results
Результат для изменения.

updatesource public

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

Генерирует и выполняет SQL-запрос UPDATE для заданной модели, полей и значений. Удаляет столбец идентификатора (первичного ключа) из данных обновления перед возвращением родителю.

Параметры

Model $model
Модель для обновления.
array $fields optional array()
Поля для установки.
array $values optional null
Значения для установки.
mixed $conditions optional null
Условие для использования.

Возвращает

array
массив

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

DboSource::update()

valuesource public

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

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

Параметры

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

Возвращает

string
Экранированные данные в кавычках

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

DboSource::value()

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

__constructsource public

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

Конструктор

Параметры

array $config optional null
Массив с конфигурацией источника данных.
boolean $autoConnect optional 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 )

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

Параметры

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

Возвращает

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

_commitNestedsource protected

_commitNested( )

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

Возвращает

boolean
bool

_constructVirtualFieldssource protected

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

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

Параметры

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

Возвращает

array
массив

_fetchHasAndBelongsToManysource protected

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

Получение ассоциаций 'hasAndBelongsToMany'.

Параметры

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

Возвращает

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

_fetchHasManysource protected

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

Получение ассоциаций 'hasMany'.

Параметры

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

Возвращает

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

_filterResultssource protected

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

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

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

Параметры

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

Возвращает

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

_filterResultsInclusivesource protected

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

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

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

Параметры

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

Возвращает

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

_getJoinssource protected

_getJoins( Model $Model )

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

Параметры

Model $Model
Модель, для которой получать условия JOIN.2

Возвращает

array
массив

_matchRecordssource protected

_matchRecords( Model $Model , mixed $conditions null )

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

Параметры

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

Возвращает

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

_mergeAssociationsource protected

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

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

Параметры

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

_mergeConditionssource protected

_mergeConditions( mixed $query , mixed $assoc )

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

Параметры

смешанный $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
SQL-запрос
смешанный $data
результат запроса $sql
массив $params необязательно array()
параметры запроса, привязанные как значения

alterSchemasource public

alterSchema( mixed $compare , string $table null )

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

Параметры

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

Возвращает

boolean
bool
END_OF_DOCUMENT_MARKER

beginsource public

begin( )

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

Возвращает

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

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

DataSource::begin()

booleansource public

boolean( mixed $data , boolean $quote false )

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

Параметры

mixed $data
Значение для преобразования
boolean $quote необязательно false
Необходимо ли преобразовать поле в строку.

Возвращает

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

buildAssociationQuerysource public

buildAssociationQuery( Model $Model , array $queryData )

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

Это всего лишь удобная обертка над DboSource::buildStatement().

Параметры

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

Возвращает

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

См. также

DboSource::buildStatement()

buildJoinStatementsource public

buildJoinStatement( array $join )

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

Параметры

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

Возвращает

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

См. также

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

buildStatementsource public

buildStatement( array $query , Model $Model )

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

Параметры

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

Возвращает

string
Выполняемый SQL запрос.

См. также

DboSource::renderStatement()

buildTableParameterssource public

buildTableParameters( array $parameters , string $table null )

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

Параметры

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

Возвращает

array
массив

cacheMethodsource public

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

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

Если кэширование отключено и попытка записи, то возвращается $value. Чтение возвращает либо значение, либо null.

Параметры

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

Возвращает

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

calculatesource public

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

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

Параметры

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

Возвращает

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

closesource public

close( )

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

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

DataSource::close()

commitsource public

commit( )

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

Возвращает

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

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

DataSource::commit()

conditionKeysToStringsource public

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

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

Параметры

array $conditions
Массив или строка условий
boolean $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 отключит кэш памяти.

Параметры

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

Возвращает

string
SQL фрагмент

createSchemasource public

createSchema( CakeSchema $schema , string $tableName null )

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

Параметры

CakeSchema $schema
Экземпляр подкласса CakeSchema
string $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 )

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

Параметры

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

Возвращает

string
строка

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

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, если не найдено.

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
Полное имя цитируемой таблицы
END_OF_DOCUMENT_MARKER

generateAssociationQuerysource public

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

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

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

Параметры

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

Возвращает

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

getConnectionsource public

getConnection( )

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

Возвращает

PDO
PDO

getConstraintsource public

getConstraint( string $type , Model $Model , Model $LinkModel , string $association , array $assocData , string $association2 null )

Возвращает массив условий для ограничения между двумя моделями.

Параметры

string $type
Тип ассоциации.
Model $Model
Объект первичной модели.
Model $LinkModel
Объект связанной модели.
string $association
Имя ассоциации.
array $assocData
Данные ассоциации.
string $association2 optional null
Имя ассоциации HABTM.

Возвращает

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

getLogsource public

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

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

Параметры

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

Возвращает

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

getQueryCachesource public

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

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

Параметры

string $sql
SQL-запрос.
array $params optional 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 optional 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
Поля в таблице. Ключи - столбец и уникальность.

introspectTypesource public

introspectType( string $value )

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

Параметры

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

Возвращает

string
string

isConnectedsource public

isConnected( )

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

Возвращает

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

lastErrorsource public

lastError( PDOStatement $query null )

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

Параметры

PDOStatement $query optional null
Запрос, из которого необходимо извлечь ошибку, если таковая имеется.

Возвращает

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

lastInsertIdsource public

lastInsertId( mixed $source null )

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

Параметры

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

Возвращает

mixed
mixed

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

DataSource::lastInsertId()

lastNumRowssource public

lastNumRows( mixed $source null )

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

Параметры

mixed $source optional null
Не используется.

Возвращает

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

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

DataSource::lastNumRows()

logQuerysource public

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

Записать данный SQL-запрос в журнал.

Параметры

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

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 необязательно 'ASC'
Направление (ASC или DESC)
Model $Model необязательно null
Ссылка на модель (используется для поиска виртуального поля)

Возвращает

string
Предложение ORDER BY

prepareFieldssource public

prepareFields( Model $Model , array $queryData )

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

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

Параметры

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

Возвращает

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

querysource public

query( )

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

Возвращает

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

readTableParameterssource public

readTableParameters( string $name )

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

Параметры

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

Возвращает

array
array

reconnectsource public

reconnect( array $config array() )

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

Параметры

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

Возвращает

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

renderJoinStatementsource public

renderJoinStatement( array $data )

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

Параметры

array $data
Данные для создания выражения JOIN.

Возвращает

string
string

resetSequencesource public

resetSequence( string $table , string $column )

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

Возвращает

string
string

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

DataSource::resolveKey()

rollbacksource public

rollback( )

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

Возвращает

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

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

DataSource::rollback()

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, если не применимо.

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

_cacheDescriptionsource protected

_cacheDescription( string $object , mixed $data null )

Кэширование описания источника данных

Параметры

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

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

mixed
смешанный

insertQueryDatasource public

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

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

Параметры

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

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

mixed
Строка данных запроса с замененными плейсхолдерами или false в случае ошибки.

setConfigsource public

setConfig( array $config array() )

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

Параметры

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

Методы, унаследованные от Объекта

_mergeVarssource protected

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

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

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

Параметры

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

_setsource protected

_set( array $properties array() )

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

Параметры

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

_stopsource protected

_stop( integer|string $status 0 )

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

Параметры

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

dispatchMethodsource public

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

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

Параметры

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

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

mixed
Возвращает результат вызова метода

logsource public

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

Удобный метод для записи сообщения в CakeLog. Для получения дополнительной информации о записи в журналы см. CakeLog::write().

Параметры

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

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

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

requestActionsource public

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

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

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

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

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

Параметры

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

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

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

toStringsource public

toString( )

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

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

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

Резюме констант

string ROW_COUNTER

Имя магического столбца, используемого для предоставления поддержки пагинации для SQLServer 2008, который не имеет надлежащей поддержки limit/offset.

'_cake_page_rownum_'

Резюме свойств

$_baseConfigsource

protected array

Основные параметры конфигурации драйвера MS SQL

array(
    'persistent' => true,
    'host' => 'localhost\SQLEXPRESS',
    'login' => '',
    'password' => '',
    'database' => 'cake',
    'schema' => '',
    'flags' => array()
)

$_fieldMappingssource

protected array

Создаёт соответствие между псевдонимами полей и числовыми индексами. Обход ограничений драйвера SQL Server на длину имени столбца (30 символов).

array()

$_lastAffectedsource

protected mixed

Сохранение последнего затронутого значения

false

$columnssource

public array

Определение столбцов MS SQL

array(
    'primary_key' => array('name' => 'IDENTITY (1, 1) NOT NULL'),
    'string' => array('name' => 'nvarchar', 'limit' => '255'),
    'text' => array('name' => 'nvarchar', 'limit' => 'MAX'),
    'integer' => array('name' => 'int', 'formatter' => 'intval'),
    'biginteger' => array('name' => 'bigint'),
    'numeric' => array('name' => 'decimal', 'formatter' => 'floatval'),
    'decimal' => array('name' => 'decimal', 'formatter' => 'floatval'),
    'float' => array('name' => 'float', 'formatter' => 'floatval'),
    'real' => array('name' => 'float', 'formatter' => 'floatval'),
    'datetime' => array('name' => 'datetime', 'format' => 'Y-m-d H:i:s', 'formatter' => 'date'),
    'timestamp' => array('name' => 'timestamp', 'format' => 'Y-m-d H:i:s', 'formatter' => 'date'),
    'time' => array('name' => 'datetime', 'format' => 'H:i:s', 'formatter' => 'date'),
    'date' => array('name' => 'datetime', 'format' => 'Y-m-d', 'formatter' => 'date'),
    'binary' => array('name' => 'varbinary'),
    'boolean' => array('name' => 'bit')
)

$descriptionsource

public string

Описание драйвера

"SQL Server DBO Driver"

$endQuotesource

public string

Закрывающий символ кавычек для идентификаторов

"]"

$startQuotesource

public string

Открывающий символ кавычек для идентификаторов

"["

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

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

$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

$tableParameterssource

public массив

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

array()

$tooksource

public целое число

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

null

$useNestedTransactionssource

public логическое

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

false

$virtualFieldSeparatorsource

public строка

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

'__'

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

$_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-Sqlserver.html

Spec-Zone.ru

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