Класс Sqlserver
Слой Dbo для официального драйвера SQLServer Майкрософт
Слой Dbo для MS SQL Server 2005 и выше. Требуется включение расширения pdo_sqlsrv.
- CakeObject
-
DataSource -
DboSource -
Sqlserver
Ссылка: http://www.php.net/manual/en/ref.pdo-sqlsrv.php
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: MIT License
Расположение: Cake/Model/Datasource/Database/Sqlserver.php
Краткое описание констант
-
string'_cake_page_rownum_'
Краткое описание свойств
-
$_baseConfigprotectedБазовые параметры конфигурации для драйвера MS SQLarray -
$_fieldMappingsprotectedarrayСоздает отображение между псевдонимами полей и числовыми индексами. Обход ограничений драйвера SQL Server на длину имен столбцов (30 символов).
-
$_lastAffectedprotectedХранение последнего затронутого значенияmixed -
$columnspublicОпределение столбца MS SQLarray -
$descriptionpublicОписание драйвераstring -
$endQuotepublicКонечный символ кавычек для идентификаторов в кавычкахstring -
$startQuotepublicНачальный символ кавычек для идентификаторов в кавычкахstring
Унаследованные свойства
-
_connection,_methodCacheChange,_queriesCnt,_queriesLog,_queriesLogMax,_queriesTime,_queryCache,_queryDefaults,_result,_sqlBoolOps,_sqlOps,_transactionNesting,affected,alias,cacheMethods,configKeyName,fieldParameters,fullDebug,index,methodCache,numRows,tableParameters,took,useNestedTransactions,virtualFieldSeparator_descriptions,_sources,_transactionStarted,cacheSources,config,connected
Краткое описание методов
- _dropTable() protectedГенерирует оператор "drop table" для указанной таблицы
- _execute() protectedВыполняет заданный SQL-запрос.
- _getPrimaryKey() protectedУбеждается, что будет возвращён первичный ключ
- buildColumn() publicГенерирует строку схемы столбца, специфичную для базы данных
- buildIndex() publicФорматирует индексы для создания таблицы
- column() publicПреобразует типы столбцов уровня базы данных в базовые типы
- connect() publicПодключается к базе данных, используя параметры в заданном массиве конфигурации.
- create() public
Генерирует и выполняет SQL-запрос INSERT для заданной модели, полей и значений. Удаляет столбец Identity (первичный ключ) из обновляемых данных перед возвратом в родительский элемент, если значение пустое.
- describe() publicВозвращает массив полей в заданном имени таблицы.
- enabled() publicПроверяет, установлен/загружен PDO SQL Server
- fetchResult() public
Извлекает следующую строку из текущего набора результатов. Игнорирует магическую переменную ROW_COUNTER.
- fields() publicГенерирует список полей SQL-запроса.
- getSchemaName() publicПолучает имя схемы
- insertMulti() publicВставляет несколько значений в таблицу
- lastAffected() public
Возвращает количество затронутых строк в предыдущей операции с базой данных. Если предыдущей операции не было, возвращает false.
- length() public
Обрабатывает свойства длины, специфичные для SQLServer. SQLServer обрабатывает текстовые типы как nvarchar/varchar с длиной -1.
- limit() publicВозвращает оператор limit в правильном формате для конкретной базы данных.
- listSources() publicВозвращает массив источников (таблиц) в базе данных.
- read() public
Возвращает массив всех строк результатов для данного SQL-запроса. Возвращает false, если совпадений нет.
- renderStatement() publicСтроит окончательный SQL-запрос
- resultSet() publicСтроит отображение столбцов, содержащихся в результате
- update() public
Генерирует и выполняет SQL-запрос UPDATE для заданной модели, полей и значений. Удаляет столбец Identity (первичный ключ) из обновляемых данных перед возвратом в родительский элемент.
- value() publicВозвращает строку, заключённую в кавычки и экранированную, из $data для использования в SQL-запросе.
Подробное описание методов
_dropTable()source protected
_dropTable( type $table )
Генерирует оператор "drop table" для указанной таблицы
Параметры
- тип
$table - Имя таблицы, которую нужно удалить
Возвращает
строкаSQL-запрос удаления таблицы
Переопределяет
DboSource::_dropTable() _execute()source protected
_execute( string $sql , array $params array() , array $prepareOptions array() )
Выполняет заданный SQL-запрос.
Параметры
- строка
$sql - SQL-запрос
- массив
$paramsнеобязательно массив() - список параметров, которые необходимо привязать к запросу (поддерживается только в запросе select)
- массив
$prepareOptionsнеобязательно массив() - Параметры, которые необходимо использовать в операторе prepare
Возвращает
смешанный типPDOStatement, если запрос выполняется без проблем, true как результат успешного запроса, false при ошибке запроса, возвращающего нулевые строки, такие как оператор CREATE, false в противном случае
Исключения
PDOExceptionПереопределяет
DboSource::_execute() _getPrimaryKey()source protected
_getPrimaryKey( Model|string $model )
Убеждается, что будет возвращён первичный ключ
Параметры
-
Model|строка$model - Экземпляр модели таблицы
Возвращает
строкаbuildColumn()source public
buildColumn( array $column )
Генерирует строку схемы столбца, специфичную для базы данных
Параметры
- массив
$column Массив, структурированный как следующий: array('name'=>'value', 'type'=>'value'[, options]), где options может быть 'default', 'length', или 'key'.
Возвращает
строкаПереопределяет
DboSource::buildColumn() buildIndex()source public
buildIndex( array $indexes , string $table null )
Форматировать индексы для создания таблицы
Параметры
- массив
$indexes - Индексы для построения
- строка
$tableнеобязательно null - Таблица, для которой необходимо создать индексы.
Возвращает
строкаПереопределяет
DboSource::buildIndex() column()source public
column( mixed $real )
Преобразует типы столбцов уровня базы данных в базовые типы
Параметры
- смешанный
$real Либо строковое значение типа поля, либо объект Result из Sqlserver::describe()
Возвращает
строкаАбстрактный тип столбца (например, "строка")
Переопределяет
DataSource::column() connect()source public
connect( )
Подключается к базе данных с использованием опций в заданном массиве конфигурации.
Возвращает
логическое значениеTrue, если база данных подключена, иначе false
Вызывает
MissingConnectionExceptioncreate()source public
create( Model $model , array $fields null , array $values null )
Генерирует и выполняет оператор SQL INSERT для заданной модели, полей и значений. Удаляет столбец Identity (первичный ключ) из данных обновления перед возвращением родительскому элементу, если значение пустое.
Параметры
-
Model$model - Модель, в которую требуется выполнить вставку.
- массив
$fieldsнеобязательно null - Поля, которые требуется установить.
- массив
$valuesнеобязательно null - Значения, которые требуется установить.
Возвращает
массивПереопределяет
DboSource::create() describe()source public
describe( Model|string $model )
Возвращает массив полей в заданном имени таблицы.
Параметры
-
Model|строка$model - Объект модели для описания или строковое имя таблицы.
Возвращает
массивПоля в таблице. Ключи - имя и тип
Вызывает
CakeExceptionПереопределяет
DataSource::describe() enabled()source public
enabled( )
Проверяет установку/загрузку PDO SQL Server
Возвращает
логическое значениеПереопределяет
DataSource::enabled() fetchResult()source public
fetchResult( )
Извлекает следующую строку из текущего набора результатов. Съедает магическую переменную ROW_COUNTER.
Возвращает
смешанныйПереопределяет
DboSource::fetchResult() fields()source public
fields( Model $model , string $alias null , array $fields array() , boolean $quote true )
Генерирует список полей запроса SQL.
Параметры
-
Model$model - Модель, для которой требуется получить поля.
- строка
$aliasнеобязательно null - Псевдоним имени таблицы
- массив
$fieldsнеобязательно array() - Поля до сих пор.
- логическое значение
$quoteнеобязательно true - Указывает, нужно ли приводить идентификаторы к кавычкам.
Возвращает
массивПереопределяет
DboSource::fields() getSchemaName()source public
getSchemaName( )
Получает имя схемы
Возвращает
строкаИмя схемы
Переопределяет
DataSource::getSchemaName() insertMulti()source public
insertMulti( string $table , string $fields , array $values )
Вставляет несколько значений в таблицу
Параметры
- строка
$table - Таблица, в которую необходимо выполнить вставку.
- строка
$fields - Поля для установки.
- массив
$values - Значения для установки.
Переопределяет
DboSource::insertMulti() lastAffected()source public
lastAffected( mixed $source null )
Возвращает количество затронутых строк в предыдущей операции с базой данных. Если предыдущей операции не существует, возвращает false.
Параметры
- смешанный
$sourceнеобязательно null - Не используется
Возвращает
целое числоКоличество затронутых строк
Переопределяет
DboSource::lastAffected() length()source public
length( mixed $length )
Обработка свойств длины, специфичных для SQLServer. SQLServer обрабатывает текстовые типы как nvarchar/varchar с длиной -1.
Параметры
- смешанный
$length - Длина в виде строки или объект описания столбца.
Возвращает
смешанныйnull|целое число с длиной столбца.
Переопределяет
DboSource::length() limit()source public
limit( integer $limit , integer $offset null )
Возвращает оператор ограничения в правильном формате для конкретной базы данных.
Параметры
- целое число
$limit - Ограничение возвращаемых результатов
- целое число
$offsetнеобязательно null - Смещение, с которого начинать результаты
Возвращает
строкаОператор SQL limit/offset
Переопределяет
DboSource::limit() listSources()source public
listSources( mixed $data null )
Возвращает массив источников (таблиц) в базе данных.
Параметры
- смешанный
$dataнеобязательно null - Имена
Возвращает
массивМассив имён таблиц в базе данных
Переопределяет
DataSource::listSources() read()source public
read( Model $model , array $queryData array() , integer $recursive null )
Возвращает массив всех строк результатов для заданного запроса SQL. Возвращает false, если строк не найдено.
Параметры
-
Model$model - Модель для чтения
- массив
$queryDataнеобязательно array() - Данные запроса
- целое число
$recursiveнеобязательно null - Количество уровней для перехода.
Возвращает
массив|falseМассив строк результата или false, если строк не найдено
Переопределяет
DboSource::read() renderStatement()source public
renderStatement( string $type , array $data )
Создаёт окончательный оператор SQL
Параметры
- строка
$type - Тип запроса
- массив
$data - Данные запроса
Возвращает
строкаПереопределяет
DboSource::renderStatement() resultSet()source public
resultSet( PDOStatement $results )
Создаёт карту столбцов, содержащихся в результате
Параметры
- PDOStatement
$results - Результат для изменения.
update()source public
update( Model $model , array $fields array() , array $values null , mixed $conditions null )
Генерирует и выполняет оператор SQL UPDATE для заданной модели, полей и значений. Удаляет столбец Identity (первичный ключ) из обновляемых данных перед возвратом родительскому элементу.
Параметры
-
Model$model - Модель для обновления.
- массив
$fieldsнеобязательно массив() - Поля для установки.
- массив
$valuesнеобязательно null - Значения для установки.
- смешанный
$conditionsнеобязательно null - Условие для использования.
Возвращает
массивПереопределяет
DboSource::update() value()source public
value( string $data , string $column null , boolean $null true )
Возвращает строку, содержащую цитированное и экранированное значение $data для использования в операторе SQL.
Параметры
- строка
$data - Строка, которая будет подготовлена для использования в операторе SQL
- строка
$columnнеобязательно null - Столбец, в который будут вставлены эти данные
- булево
$nullнеобязательно true - Столбец допускает значения NULL
Возвращает
строкаЦитированные и экранированные данные
Переопределяет
DboSource::value() Методы, унаследованные от DboSource
__construct()source public
__construct( array $config null , boolean $autoConnect true )
Конструктор
Параметры
- массив
$configнеобязательно null - Массив с информацией о конфигурации источника данных.
- булево
$autoConnectнеобязательно true - Указывает, необходимо ли автоматически подключаться к источнику данных.
Исключения
MissingConnectionExceptionесли соединение не может быть установлено.
Переопределяет
DataSource::__construct() __destruct()source public
__destruct( )
Используется для хранения результатов метода in-memory methodCache в кэше.
Переопределяет
DataSource::__destruct() _buildFieldParameters()source protected
_buildFieldParameters( string $columnString , array $columnData , string $position )
Создает параметры поля в определенной позиции.
Параметры
- строка
$columnString - Частично созданная строка столбца.
- массив
$columnData - Массив данных столбца.
- строка
$position - Тип позиции для использования. Например, 'beforeDefault' или 'afterDefault'.
Возвращает
строкаСтрока столбца с добавленными параметрами поля.
_commitNested()source protected
_commitNested( )
Подтверждение вложенной транзакции
Возвращает
булево_constructVirtualFields()source protected
_constructVirtualFields( Model $Model , string $alias , array $fields )
Преобразует виртуальные поля модели в выражения SQL для последующего извлечения.
Параметры
-
Model$Model - Модель, для которой нужно получить виртуальные поля.
- строка
$alias - Псевдоним имени таблицы.
- массив
$fields - Виртуальные поля, используемые в запросе.
Возвращает
массив_fetchHasAndBelongsToMany()source protected
_fetchHasAndBelongsToMany( Model $Model , string $query , array $ids , string $association )
Получение ассоциаций 'hasAndBelongsToMany'.
Параметры
-
Model$Model - Основной объект модели.
- строка
$query - Запрос ассоциации.
- массив
$ids - Массив идентификаторов связанных записей.
- строка
$association - Имя ассоциации.
Возвращает
массивРезультаты ассоциации.
_fetchHasMany()source protected
_fetchHasMany( Model $Model , string $query , array $ids )
Получение ассоциаций 'hasMany'.
Параметры
-
Model$Model - Основной объект модели.
- строка
$query - Шаблон запроса ассоциации.
- массив
$ids - Массив идентификаторов связанных записей.
Возвращает
массивРезультаты ассоциации.
_filterResults()source protected
_filterResults( array $resultSet , Model $Model , array $filtered array() )
Пропускает результаты ассоциации через фильтры afterFind соответствующей модели.
Основная модель всегда исключается, потому что фильтрация выполняется позже методом Model::_filterResults().
Параметры
- массив
$resultSet - $resultSet Ссылка на результат набора, который должен быть отфильтрован.
-
Model$Model - Экземпляр модели, с которой нужно работать.
- массив
$filteredнеобязательно массив() - Список классов, которые уже отфильтрованы, чтобы их пропустить.
Возвращает
массивМассив результатов, отфильтрованных через $Model->afterFind.
_filterResultsInclusive()source protected
_filterResultsInclusive( array $resultSet , Model $Model , array $toBeFiltered array() )
Пропускает результаты ассоциации через фильтры afterFind соответствующей модели.
Аналогично DboSource::_filterResults(), но фильтрует только указанные модели. Основная модель не может быть указана, так как этот вызов DboSource::_filterResults() выполняется внутренне.
Параметры
- массив
$resultSet - $resultSet Ссылка на результат набора, который должен быть отфильтрован.
-
Model$Model - Экземпляр модели, с которой нужно работать.
- массив
$toBeFilteredнеобязательно массив() - Список классов, которые должны быть отфильтрованы.
Возвращает
массивМассив результатов, отфильтрованных через $Model->afterFind.
_getJoins()source protected
_getJoins( Model $Model )
Возвращает массив условий SQL JOIN из ассоциаций модели.
Параметры
-
Model$Model - Модель, для которой нужно получить JOIN-условия.
Возвращает
массив_matchRecords()source protected
_matchRecords( Model $Model , mixed $conditions null )
Получает список идентификаторов записей для заданных условий. Используется для многозаписных обновлений и удалений в базах данных, которые не поддерживают псевдонимы в запросах UPDATE/DELETE.
Параметры
-
Model$Model - Модель, для которой нужно найти соответствующие записи.
- смешанный
$conditionsнеобязательно null - Условия для сопоставления.
Возвращает
массивСписок идентификаторов записей
_mergeAssociation()source protected
_mergeAssociation( array $data , array $merge , string $association , string $type , boolean $selfJoin false )
Объединение ассоциации merge в данные
Параметры
- массив
$data - $data Данные для объединения.
- массив
$merge - $merge Данные для объединения.
- строка
$association - Имя ассоциации для объединения.
- строка
$type - Тип ассоциации.
- булево
$selfJoinнеобязательно false - Указывает, является ли это самосвязью.
_mergeConditions()source protected
_mergeConditions( mixed $query , mixed $assoc )
Объединяет набор условий смешанного типа (строка/массив).
Параметры
- смешанный
$query - Запрос для объединения условий.
- смешанный
$assoc - Имена ассоциаций.
Возвращает
массив_mergeHasMany()source protected
_mergeHasMany( array $resultSet , array $assocResultSet , string $association , Model $Model )
Объединить результаты ассоциаций 'hasMany'.
Примечание: эта функция также обрабатывает форматирование данных.
Параметры
- массив
$resultSet - $resultSet Данные для объединения.
- массив
$assocResultSet - Данные для объединения.
- строка
$association - Имя модели, которая объединяется.
-
Model$Model - Модель, к которой добавляется объединяемая модель.
_parseKey()source protected
_parseKey( string $key , mixed $value , Model $Model null )
Извлекает идентификатор Model.field и оператор SQL-условия из строки, форматирует и вставляет значения, и составляет фрагмент SQL.
Параметры
- строка
$key - Фрагмент SQL-ключа, содержащий поле и необязательный SQL-оператор
- смешанный
$value - Значение(я), которые необходимо вставить в строку
-
Model$Modelнеобязательный null - Объект модели, инициирующий запрос
Возвращает
строка_prepareUpdateFields()source protected
_prepareUpdateFields( Model $Model , array $fields , boolean $quoteValues true , boolean $alias false )
Приводит к кавычкам и готовит поля и значения для оператора SQL UPDATE
Параметры
-
Model$Model - Модель, для которой подготавливаются поля.
- массив
$fields - Поля для обновления.
- булево
$quoteValuesнеобязательный true - Если значения должны быть в кавычках или обрабатываться как фрагменты SQL
- булево
$aliasнеобязательный false - Включать алиас модели в имя поля
Возвращает
массивПоля и значения, приведённые к кавычкам и подготовленные
_quoteFields()source protected
_quoteFields( string $conditions )
Приводит поля Model.fields к кавычкам
Параметры
- строка
$conditions - Условие для приведения к кавычкам.
Возвращает
строкаили ложь, если совпадений нет
_quoteMatchedField()source protected
_quoteMatchedField( string $match )
Вспомогательная функция для приведения совпадений Model.fields из вызова preg_replace_callback
Параметры
- строка
$match - соответствующая строка
Возвращает
строкастрока в кавычках
_rollbackNested()source protected
_rollbackNested( )
Откатить вложенную транзакцию
Возвращает
булево_scrubQueryData()source protected
_scrubQueryData( array $data )
Внутренняя вспомогательная функция для удаления метаданных запроса в заданном массиве данных.
Параметры
- массив
$data - Данные для очистки.
Возвращает
массив_writeQueryCache()source protected
_writeQueryCache( string $sql , mixed $data , array $params array() )
Записывает новый ключ для кэша запросов SQL в памяти
Параметры
- строка
$sql - SQL-запрос
- смешанный
$data - результат запроса $sql
- массив
$paramsнеобязательный array() - параметры запроса, привязанные в качестве значений
alterSchema()source public
alterSchema( mixed $compare , string $table null )
Генерирует синтаксис изменения из CakeSchema::compare()
Параметры
- смешанный
$compare - Данные сравнения.
- строка
$tableнеобязательный null - Имя таблицы.
Возвращает
булевоbegin()source public
begin( )
Начать транзакцию
Возвращает
булевоИстина при успехе, ложь при неудаче (например, если база данных/модель не поддерживает транзакции или транзакция не начата).
Переопределяет
DataSource::begin() boolean()source public
boolean( mixed $data , boolean $quote false )
Перевод между булевыми значениями PHP и булевыми значениями базы данных (имитируется)
Параметры
- смешанный
$data - Значение для перевода
- булево
$quoteнеобязательный false - Преобразовать ли поле в строку.
Возвращает
строка|булевоПреобразованное булево значение
buildAssociationQuery()source public
buildAssociationQuery( Model $Model , array $queryData )
Строит SQL-запрос.
Это просто удобный обертка для DboSource::buildStatement().
Параметры
-
Model$Model - Модель, для которой строится запрос ассоциации.
- массив
$queryData - Массив данных запроса, содержащий ключи, аналогичные Model::find().
Возвращает
строкаСтрока, содержащая SQL-запрос.
См.
DboSource::buildStatement()buildJoinStatement()source public
buildJoinStatement( array $join )
Строит и генерирует условие JOIN из массива. Обрабатывает окончательную очистку перед преобразованием.
Параметры
- массив
$join - Массив, определяющий условие JOIN в запросе.
Возвращает
строкаSQL-условие JOIN для использования в запросе.
См.
DboSource::renderJoinStatement()DboSource::buildStatement()
buildStatement()source public
buildStatement( array $query , Model $Model )
Строит и генерирует SQL-запрос из массива. Обрабатывает окончательную очистку перед преобразованием.
Параметры
- массив
$query - Массив, определяющий SQL-запрос.
-
Model$Model - Объект модели, который инициировал запрос.
Возвращает
строкаВыполнимый SQL-запрос.
См.
DboSource::renderStatement()buildTableParameters()source public
buildTableParameters( array $parameters , string $table null )
Форматировать параметры для создания таблицы
Параметры
- массив
$parameters - Параметры для создания SQL.
- строка
$tableнеобязательный null - Имя таблицы.
Возвращает
массивcacheMethod()source public
cacheMethod( string $method , string $key , mixed $value null )
Кэшировать значение в methodCaches. Учитывает значение DboSource::$cacheMethods. Получит значение из кэша, если $value равно null.
Если кэширование отключено и выполняется запись, возвращается $value. Чтение вернёт значение или null.
Параметры
- строка
$method - Имя кэшируемого метода.
- строка
$key - Имя ключа для операции кэширования.
- смешанный
$valueнеобязательный null - Значение для кэширования в памяти.
Возвращает
смешанныйЛибо null при неудаче, либо значение, если оно установлено.
cacheMethodFilter()source public
cacheMethodFilter( string $method , string $key , mixed $value )
Фильтры для применения к результатам name и fields. Если фильтр для данного метода не возвращает true, то результат не добавляется в кэш памяти.
Примеры:
// For method fields, do not cache values that contain floats
if ($method === 'fields') {
$hasFloat = preg_grep('/(\d+)?\.\d+/', $value);
return count($hasFloat) === 0;
}
return true; // For method name, do not cache values that have the name created
if ($method === 'name') {
return preg_match('/^`created`$/', $value) !== 1;
}
return true; // For method name, do not cache values that have the key 472551d38e1f8bbc78d7dfd28106166f
if ($key === '472551d38e1f8bbc78d7dfd28106166f') {
return false;
}
return true; Параметры
- строка
$method - Имя метода, который будет кэшироваться.
- строка
$key - Имя ключа для операции кэширования.
- смешанное значение
$value - Значение для кэширования в памяти.
Возвращает
booleanБудет ли кэшироваться
cacheMethodHasher()source public
cacheMethodHasher( string $value )
Хэширует заданное значение.
Кэширование методов использует md5 (по умолчанию) для создания ключей кэша. Если у вас возникают проблемы с коллизиями, попробуйте другой алгоритм хэширования или установите DboSource::$cacheMethods в false.
Параметры
- строка
$value - Значение для хэширования
Возвращает
строкаХэшированное значение
См. также
http://php.net/manual/en/function.hash-algos.phphttp://softwareengineering.stackexchange.com/questions/49550/which-hashing-algorithm-is-best-for-uniqueness-and-speed
calculate()source public
calculate( Model $Model , string $func , array $params array() )
Возвращает SQL вычисление, например, COUNT() или MAX().
Параметры
-
Model$Model - Модель для получения вычисляемого поля.
- строка
$func - Имя SQL-функции в нижнем регистре, например, 'count' или 'max'.
- массив
$paramsнеобязательно array() - Параметры функции (любые значения должны быть вручную заключены в кавычки)
Возвращает
строкаФункция SQL-вычисления
close()source public
close( )
Отключает базу данных, убивает соединение и объявляет соединение закрытым.
Переопределяет
DataSource::close() commit()source public
commit( )
Подтверждает транзакцию
Возвращает
booleanTrue при успехе, false при ошибке (например, если база данных/модель не поддерживает транзакции или транзакция не начата).
Переопределяет
DataSource::commit() conditionKeysToString()source public
conditionKeysToString( array $conditions , boolean $quoteValues true , Model $Model null )
Создает условие WHERE путем разбора массива условий. Используется методом DboSource::conditions().
Параметры
- массив
$conditions - Массив или строка условий
- boolean
$quoteValuesнеобязательно true - Если true, значения должны быть заключены в кавычки
-
Model$Modelнеобязательно null - Ссылка на экземпляр модели, выполняющий запрос
Возвращает
строкаSQL фрагмент
conditions()source public
conditions( mixed $conditions , boolean $quoteValues true , boolean $where true , Model $Model null )
Создает условие WHERE путем разбора переданных данных условий. Если предоставлены массив или строка условий, эти условия будут обработаны и заключены в кавычки. Если предоставлен boolean, он будет преобразован в целое число в качестве условия. Null вернет 1 = 1.
Результаты этого метода хранятся в кэше памяти. Это повышает производительность, но, поскольку метод использует алгоритм хэширования, могут возникать коллизии. Установка DboSource::$cacheMethods в false отключит кэш памяти.
Параметры
- смешанное значение
$conditions - Массив или строка условий или любое значение.
- boolean
$quoteValuesнеобязательно true - Если true, значения должны быть заключены в кавычки
- boolean
$whereнеобязательно true - Если true, к возвращаемому значению будет добавлен "WHERE "
-
Model$Modelнеобязательно null - Ссылка на экземпляр модели, выполняющий запрос
Возвращает
строкаSQL фрагмент
createSchema()source public
createSchema( CakeSchema $schema , string $tableName null )
Генерирует схему базы данных для данного объекта Schema.
Параметры
-
CakeSchema$schema - Экземпляр подкласса CakeSchema
- строка
$tableNameнеобязательно null Необязательно. Если указано, будет сгенерировано только имя таблицы. В противном случае, будут сгенерированы все таблицы, определенные в схеме.
Возвращает
строкаdefaultConditions()source public
defaultConditions( Model $Model , string|array|boolean $conditions , boolean $useAlias true )
Создает набор стандартных условий из модели, если $conditions равен null или пусто. Если условия предоставлены, они будут возвращены. Если модели не существует и условия не были предоставлены, будет возвращен null или false, в зависимости от введенного значения.
Параметры
-
Model$Model - Модель для получения условий.
- строка|массив|boolean
$conditions Массив условий, строка условий, null или false. Если массив условий или строка условий, эти условия будут возвращены. В остальных случаях будет проверена существование модели. Если модели нет, будет возвращен null или false, в зависимости от введенного значения.
- boolean
$useAliasнеобязательно true - Использовать псевдонимы моделей вместо имен таблиц при генерации условий
Возвращает
смешанное значениеЛибо null, false, $conditions или массив стандартных условий для использования.
См. также
DboSource::update()DboSource::conditions()
delete()source public
delete( Model $Model , mixed $conditions null )
Генерирует и выполняет SQL-запрос DELETE. Для баз данных, которые не поддерживают псевдонимы в запросах UPDATE.
Параметры
-
Model$Model - Модель для удаления данных из
- смешанное значение
$conditionsнеобязательно null - Условия для использования. Если пусто, будет использоваться первичный ключ модели.
Возвращает
booleanУспех
Переопределяет
DataSource::delete() dropSchema()source public
dropSchema( CakeSchema $schema , string $table null )
Генерирует SQL-запрос "drop table" для данного объекта Schema.
Параметры
-
CakeSchema$schema - Экземпляр подкласса CakeSchema
- строка
$tableнеобязательно null Необязательно. Если указано, будет сгенерировано только имя таблицы. В противном случае, будут сгенерированы все таблицы, определенные в схеме.
Возвращает
строкаexecute()source public
execute( string $sql , array $options array() , array $params array() )
Выполняет запрос к базе данных с заданным SQL-запросом и получает метаданные о результате (затронутые строки, время выполнения, ошибки, количество строк в наборе результатов). Запрос также регистрируется. Если Configure::read('debug') установлено, лог отображается всегда, иначе только при ошибках.
Параметры
- log - Нужно ли записывать запрос в кэш логов.
Параметры
- строка
$sql - SQL-запрос
- массив
$optionsнеобязательно array() - Параметры для выполнения запроса.
- массив
$paramsнеобязательно array() - Значения для подстановки в запрос.
Возвращает
смешанное значениеРесурс или объект, представляющий набор результатов, или false при ошибке
expression()source public
expression( string $expression )
Возвращает объект для представления выражения базы данных в запросе. Объекты выражений не проверяются на соответствие или экранирование.
Параметры
- строка
$expression - Произвольное SQL-выражение, которое необходимо вставить в запрос.
Возвращаемые значения
stdClassОбъект, представляющий выражение базы данных для использования в запросе
fetchAll()source public
fetchAll( string $sql , array|boolean $params array() , array $options array() )
Возвращает массив всех строк результатов для заданного SQL-запроса.
Возвращает false, если ни одна строка не соответствовала запросу.
Параметры
-
cache- Возвращает кэшированную версию запроса, если она существует и сохраняет результат в кэше. Это кэширование не сохраняется на долго и действует только для одного запроса. По умолчанию этот параметр равен true. Если вы напрямую вызываете этот метод, вы можете отключить кэширование, установив $options вfalse
Параметры
- строка
$sql - SQL-запрос
- массив|логическое значение
$paramsдополнительно массив() Либо параметры для привязки в качестве значений к SQL-запросу, либо логическое значение для управления кэшированием запросов.
- массив
$optionsдополнительно массив() - Дополнительные параметры для запроса.
Возвращаемые значения
логическое значение|массивМассив строк набора результатов или false, если ни одна строка не соответствовала запросу
fetchAssociated()source public
fetchAssociated( Model $Model , string $query , array $ids )
Получить ассоциации 'hasMany'.
Это просто прокси для сохранения обратной совместимости.
Параметры
-
Model$Model - Основной объект модели.
- строка
$query - Шаблон запроса ассоциации.
- массив
$ids - Массив идентификаторов связанных записей.
Возвращаемые значения
массивРезультаты ассоциации.
См. также
DboSource::_fetchHasMany()fetchRow()source public
fetchRow( string $sql null )
Возвращает строку из текущего набора результатов в виде массива
Параметры
- строка
$sqlдополнительно null - Некоторая SQL-команда, которая должна быть выполнена.
Возвращаемые значения
массивИзвлеченная строка в виде массива
fetchVirtualField()source public
fetchVirtualField( array $result )
Изменяет массив $result, чтобы разместить виртуальные поля в записи модели, куда они принадлежат.
Параметры
- массив
$result - $result Ссылка на извлеченную строку
field()source public
field( string $name , string $sql )
Возвращает одно поле из первой строки результатов для заданного SQL-запроса или false, если пусто.
Параметры
- строка
$name - Имя поля для получения.
- строка
$sql - SQL-запрос.
Возвращаемые значения
смешанный типЗначение прочитанного поля или false, если не найдено.
flushMethodCache()source public
flushMethodCache( )
Очищает кэши методов. Эти кэши используются методами DboSource::name() и DboSource::conditions()
fullTableName()source public
fullTableName( Model|string $model , boolean $quote true , boolean $schema true )
Получить полное имя таблицы, включая префикс
Параметры
-
Model|строка$model - Либо объект модели, либо строка с именем таблицы.
- логическое значение
$quoteдополнительно true - Требуется ли цитирование имени таблицы.
- логическое значение
$schemaдополнительно true - Включать ли имя схемы.
Возвращаемые значения
строкаПолное цитируемое имя таблицы
generateAssociationQuery()source public
generateAssociationQuery( Model $Model , Model|null $LinkModel , string $type , string $association , array $assocData , array $queryData , boolean $external )
Генерирует запрос или часть запроса из одной модели или двух связанных моделей.
Создает строку, содержащую шаблон SQL-запроса.
Параметры
-
Model$Model - Основной объект модели.
-
Model|null$LinkModel - Связанный объект модели.
- строка
$type - Тип ассоциации, один из типов ассоциаций моделей, например hasMany.
- строка
$association - Имя ассоциации.
- массив
$assocData - Данные ассоциации.
- массив
$queryData - $queryData Массив информации о запросе, содержащий ключи, подобные ключам в Model::find().
- логическое значение
$external - Является ли запрос ассоциации на внешнем источнике данных.
Возвращаемые значения
смешанный типСтрока, представляющая запрос. True, когда $external равен false, а ассоциация $type равна 'hasOne' или 'belongsTo'.
getConnection()source public
getConnection( )
Получить базовый объект соединения.
Возвращаемые значения
PDOgetConstraint()source public
getConstraint( string $type , Model $Model , Model $LinkModel , string $association , array $assocData , string $association2 null )
Возвращает массив условий для ограничения между двумя моделями.
Параметры
- строка
$type - Тип ассоциации.
-
Model$Model - Основной объект модели.
-
Model$LinkModel - Связанный объект модели.
- строка
$association - Имя ассоциации.
- массив
$assocData - Данные ассоциации.
- строка
$association2дополнительно null - Имя ассоциации HABTM.
Возвращаемые значения
массивМассив условий, определяющих ограничение между $Model и $LinkModel.
getLog()source public
getLog( boolean $sorted false , boolean $clear true )
Получить журнал запросов в виде массива.
Параметры
- логическое значение
$sortedдополнительно false - Получить запросы, отсортированные по времени выполнения, по умолчанию false.
- логическое значение
$clearдополнительно true - Если True, существующий журнал будет очищен.
Возвращаемые значения
массивМассив запущенных запросов в виде массива
getQueryCache()source public
getQueryCache( string $sql , array $params array() )
Возвращает результат sql-запроса, если он уже кэширован
Параметры
- строка
$sql - SQL-запрос
- массив
$paramsдополнительно массив() - параметры запроса, привязанные как значения
Возвращаемые значения
смешанный типрезультаты запроса, если он кэширован, в противном случае false
getVersion()source public
getVersion( )
Получить строку версии сервера базы данных
Возвращаемые значения
строкаВерсия базы данных
group()source public
group( string|array $fields , Model $Model null )
Создать SQL-условие GROUP BY.
Параметры
- строка|массив
$fields - Поля GROUP BY
-
Model$Modelдополнительно null - Модель для получения полей GROUP BY.
Возвращаемые значения
строкаУсловие GROUP BY или null.
hasAny()source public
hasAny( Model $Model , string $sql )
Проверяет, содержит ли указанная таблица хотя бы одну запись, соответствующую заданному SQL-запросу.
Параметры
-
Model$Model - Модель для поиска
- строка
$sql - SQL-фрагмент WHERE (только условие, без части "WHERE")
Возвращаемое значение
booleanTrue, если в таблице есть соответствующая запись, иначе false
hasResult()source public
hasResult( )
Проверяет, является ли результат корректным.
Возвращаемое значение
booleanTrue, если результат корректный, иначе false
identifier()source public
identifier( string $identifier )
Возвращает объект для представления идентификатора базы данных в запросе. Объекты выражений не проверяются и не экранируются.
Параметры
- строка
$identifier - SQL-выражение, используемое в качестве идентификатора
Возвращаемое значение
stdClassОбъект, представляющий идентификатор базы данных для использования в запросе
index()source public
index( string $model )
Возвращает массив индексов в заданном источнике данных.
Параметры
- строка
$model - Имя модели для проверки
Возвращаемое значение
arrayПоля в таблице. Ключи — столбец и уникальность
introspectType()source public
introspectType( string $value )
Определяет тип данных массива
Параметры
- строка
$value - Значение для определения типа данных.
Возвращаемое значение
строкаisConnected()source public
isConnected( )
Проверяет, подключен ли источник к базе данных.
Возвращаемое значение
booleanTrue, если база данных подключена, иначе false
lastError()source public
lastError( PDOStatement $query null )
Возвращает отформатированное сообщение об ошибке из предыдущей операции с базой данных.
Параметры
- PDOStatement
$queryнеобязательно null - запрос для извлечения ошибки, если она есть
Возвращаемое значение
строкаСообщение об ошибке с номером ошибки
lastInsertId()source public
lastInsertId( mixed $source null )
Возвращает ID, сгенерированный в результате предыдущей операции INSERT.
Параметры
- смешанный
$sourceнеобязательно null - Источник для получения ID.
Возвращаемое значение
смешанныйПереопределяет
DataSource::lastInsertId() lastNumRows()source public
lastNumRows( mixed $source null )
Возвращает количество строк в предыдущем наборе результатов. Если предыдущего набора результатов нет, возвращает false.
Параметры
- смешанный
$sourceнеобязательно null - Не используется
Возвращаемое значение
целое числоКоличество строк в наборе результатов
Переопределяет
DataSource::lastNumRows() logQuery()source public
logQuery( string $sql , array $params array() )
Записывает заданный SQL-запрос в журнал.
Параметры
- строка
$sql - SQL-запрос
- массив
$paramsнеобязательно array() - Значения, привязанные к запросу (предварительно подготовленные запросы)
name()source public
name( mixed $data )
Возвращает заключенное в кавычки имя $data для использования в SQL-запросе. Удаляет поля из SQL-функций перед заключением в кавычки.
Результаты этого метода сохраняются в кэше памяти. Это повышает производительность, но, поскольку метод использует алгоритм хеширования, могут возникать коллизии. Установка DboSource::$cacheMethods в false отключит кэш памяти.
Параметры
- смешанный
$data Строка со столбцом для заключения в кавычки. Массив столбцов для заключения в кавычки или объект из DboSource::expression() или DboSource::identifier()
Возвращаемое значение
строкаSQL-поле
nestedTransactionSupported()source public
nestedTransactionSupported( )
Проверка поддержки вложенных транзакций на сервере.
Возвращаемое значение
booleanorder()source public
order( array|string $keys , string $direction 'ASC' , Model $Model null )
Возвращает оператор ORDER BY в виде строки.
Параметры
- массив|строка
$keys - Ссылка на поле, в виде ключа (например, Post.title)
- строка
$directionнеобязательно 'ASC' - Направление (ASC или DESC)
-
Model$Modelнеобязательно null - Ссылка на модель (используется для поиска виртуального поля)
Возвращаемое значение
строкаОператор ORDER BY
prepareFields()source public
prepareFields( Model $Model , array $queryData )
Подготавливает поля, необходимые для SQL-запроса.
Если поля не заданы, возвращаются все поля модели $Model.
Параметры
-
Model$Model - Модель для подготовки.
- массив
$queryData - Массив информации о queryData, содержащий ключи, аналогичные ключам в Model::find().
Возвращаемое значение
массивМассив, содержащий SQL-поля.
query()source public
query( )
Абстракция запроса DataSource.
Возвращаемое значение
ресурсИдентификатор ресурса результата.
queryAssociation()source public
queryAssociation( Model $Model , Model $LinkModel , string $type , string $association , array $assocData , array $queryData , boolean $external , array $resultSet , integer $recursive , array $stack )
Запрос ассоциаций.
Используется для извлечения результатов для рекурсивных моделей.
'hasMany' ассоциации без установленного ограничения: Рекурсивный вызов происходит для каждого уровня, включая фильтрацию и слияние.
'hasAndBelongsToMany' ассоциации: Извлечение и фильтрация происходят независимо от уровня (рекурсии).
Параметры
-
Model$Model - Основной объект модели.
-
Model$LinkModel - Объект связанной модели.
- строка
$type - Тип ассоциации, один из типов ассоциаций модели, например, hasMany.
- строка
$association - Имя ассоциации.
- массив
$assocData - Данные ассоциации.
- массив
$queryData - $queryData — массив информации queryData, содержащий ключи, аналогичные ключам в Model::find().
- boolean
$external - Признак, является ли запрос ассоциации для внешнего источника данных.
- массив
$resultSet - $resultSet — существующие результаты.
- целое число
$recursive - Количество уровней ассоциации.
- массив
$stack - Список соединенных моделей.
Возвращаемое значение
смешанныйИсключения
CakeExceptionпри невозможности создания результатов.
rawQuery()source public
rawQuery( string $sql , array $params array() )
Выполняет указанный SQL-запрос.
Параметры
- строка
$sql - SQL-запрос
- массив
$paramsнеобязательно array() - Дополнительные параметры для запроса.
Возвращаемое значение
смешанныйРесурс или объект, представляющий набор результатов, или false при ошибке
readTableParameters()source public
readTableParameters( string $name )
Чтение дополнительных параметров таблицы.
Параметры
- строка
$name - Имя таблицы для чтения.
Возвращаемое значение
массивreconnect()source public
reconnect( array $config array() )
Подключается к серверу базы данных с необязательными новыми настройками
Параметры
- массив
$configнеобязательно array() - Массив, определяющий новые параметры конфигурации
Возвращаемое значение
booleanИстина при успехе, ложь при ошибке
renderJoinStatement()source public
renderJoinStatement( array $data )
Отображает окончательное SQL-выражение JOIN
Параметры
- массив
$data - Данные для генерации выражения JOIN.
Возвращаемое значение
строкаresetSequence()source public
resetSequence( string $table , string $column )
Сбрасывает последовательность на основе максимального значения в столбце $column. Полезно для сброса последовательностей после использования insertMulti().
Этот метод должен быть реализован источниками данных, требующими использование последовательностей.
Параметры
- строка
$table - Название таблицы для обновления.
- строка
$column - Столбец, используемый для сброса значения последовательности.
Возвращаемое значение
booleanУспех.
resolveKey()source public
resolveKey( Model $Model , string $key , string $assoc null )
Возвращает ключ, отформатированный как строка Model.fieldname (например, Post.title или Country.name)
Параметры
-
Model$Model - Модель, для которой требуется ключ.
- строка
$key - Поле ключа.
- строка
$assocнеобязательно null - Имя ассоциации.
Возвращаемое значение
строкаПереопределяет
DataSource::resolveKey() rollback()source public
rollback( )
Откат транзакции
Возвращаемое значение
booleanИстина при успехе, ложь при неудаче (например, если база данных/модель не поддерживает транзакции или транзакция не начата).
Переопределяет
DataSource::rollback() showLog()source public
showLog( boolean $sorted false )
Выводит содержимое журнала запросов. Если среда не CLI, будет отображено содержимое элемента sql_log. Если среда CLI, генерируется текстовый журнал.
Параметры
- boolean
$sortedнеобязательно false - Получить запросы, отсортированные по времени выполнения, по умолчанию false.
truncate()source public
truncate( Model|string $table )
Удаляет все записи в таблице и сбрасывает счетчик автоинкрементируемого первичного ключа, если применимо.
Параметры
-
Model|строка$table - Строка или класс модели, представляющий таблицу, которая должна быть усечена
Возвращаемое значение
booleanSQL-запрос TRUNCATE TABLE, ложь, если не применимо.
Методы, унаследованные от DataSource
_cacheDescription()source protected
_cacheDescription( string $object , mixed $data null )
Кэширует описание DataSource
Параметры
- строка
$object - Имя объекта (модели) для кэширования
- смешанный
$dataнеобязательно null - Описание модели, обычно строка или массив
Возвращаемое значение
смешанныйinsertQueryData()source public
insertQueryData( string $query , array $data , string $association , Model $Model , array $stack )
Заменяет {$__cakeID__$} и {$__cakeForeignKey__$} маркеры в данных запроса.
Параметры
- строка
$query - Строка запроса, требующая замены.
- массив
$data - Массив данных со значениями, которые будут вставлены вместо маркеров.
- строка
$association - Имя модели ассоциации, которая заменяется.
-
Model$Model - Экземпляр модели.
- массив
$stack - Стек контекста.
Возвращаемое значение
смешанныйСтрока данных запроса с замененными маркерами или ложь при ошибке.
setConfig()source public
setConfig( array $config array() )
Устанавливает конфигурацию для DataSource. Объединяет информацию из $config с _baseConfig и существующим свойством $config.
Параметры
- массив
$configнеобязательно array() - Массив конфигурации
Методы, унаследованные от CakeObject
_mergeVars()source protected
_mergeVars( array $properties , string $class , boolean $normalize true )
Объединяет свойство $property этого объекта со свойством в определении $class. Значение этого объекта для свойства будет объединено поверх $class.
Это предоставляет часть DRY-магии CakePHP. Если вы хотите отключить ее, переопределите этот метод как пустую функцию.
Параметры
- массив
$properties - Имя свойств для объединения.
- строка
$class - Класс для объединения свойства с.
- boolean
$normalizeнеобязательно true - Установить в true, чтобы запустить свойства через Hash::normalize() перед объединением.
_set()source protected
_set( array $properties array() )
Разрешает установку нескольких свойств объекта в одной строке кода. Будут установлены только свойства, которые являются частью объявления класса.
Параметры
- массив
$propertiesнеобязательно array() - Ассоциативный массив, содержащий свойства и соответствующие значения.
_stop()source protected
_stop( integer|string $status 0 )
Останавливает выполнение текущего скрипта. Оборачивает exit(), что облегчает тестирование.
Параметры
- целое число|строка
$statusнеобязательно 0 - см. http://php.net/exit для значений
dispatchMethod()source public
dispatchMethod( string $method , array $params array() )
Вызывает метод этого объекта с заданными параметрами. Предоставляет объектно-ориентированный обертку для call_user_func_array
Параметры
- строка
$method - Имя вызываемого метода
- массив
$paramsнеобязательно array() - Список параметров для использования при вызове $method
Возвращаемое значение
смешанныйВозвращает результат вызова метода
log()source public
log( string $msg , integer $type LOG_ERR , null|string|array $scope null )
Удобный метод для записи сообщения в CakeLog. Для получения дополнительной информации о записи в журналы см. CakeLog::write().
Параметры
- строка
$msg - Сообщение журнала
- целое число
$typeнеобязательно LOG_ERR - Константа типа ошибки. Определена в app/Config/core.php.
- null|строка|массив
$scopeнеобязательно null Область(и), в которой создается сообщение журнала. Для получения дополнительной информации о областях ведения журналов см. CakeLog::config().
Возвращаемое значение
booleanУспех записи в журнал
requestAction()source public
requestAction( string|array $url , array $extra array() )
Вызывает метод контроллера из любого места. Может использоваться для связи контроллеров или подключения плагинов к главному приложению. requestAction может возвращать рендереные представления или значение, возвращаемое действиями контроллера.
Внутри метод использует Router::reverse() для преобразования параметра $url в строковый URL. Вы должны использовать форматы URL, совместимые с Router::reverse()
Передача данных POST и GET
Данные POST и GET могут быть смоделированы в requestAction. Используйте $extra['url'] для данных GET. Параметр $extra['data'] позволяет моделировать данные POST.
Параметры
- строка|массив
$url Строковый или массивный URL. В отличие от других массивов URL в CakePHP, этот URL не будет автоматически обрабатывать переданные и именованные аргументы в параметре $url.
- массив
$extraнеобязательно массив() Если массив содержит ключ "return", он устанавливает AutoRender в true. Также может использоваться для отправки данных GET/POST и именованных/переданных аргументов.
Возвращает
mixedБулево значение true или false при успехе/неудаче, или содержимое рендеренного действия, если в $extra установлен ключ 'return'.
toString()source public
toString( )
Преобразование CakeObject в строку. Каждый класс может переопределять этот метод по мере необходимости.
Возвращает
строкаИмя этого класса
Подробное описание свойств
$_baseConfigsource
protected массив
Настройки базовой конфигурации для драйвера MS SQL
array(
'persistent' => true,
'host' => 'localhost\SQLEXPRESS',
'login' => '',
'password' => '',
'database' => 'cake',
'schema' => '',
'flags' => array()
) $_fieldMappingssource
protected массив
Создаёт отображение между псевдонимами полей и числовыми индексами. Обход ограничений SQL Server на длину имени столбца (30 символов).
array()
$columnssource
public массив
Определение столбцов 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')
)
© 2005–2016 The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/2.9/class-Sqlserver.html