Spec-Zone.ru › CakePHP 2.8

Класс Sqlserver

Слой Dbo для официального драйвера SQLServer от Microsoft

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

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

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

  • string

    ROW_COUNTER
    '_cake_page_rownum_'

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

  • $_baseConfig protected
    array
    Основные параметры конфигурации для драйвера MS SQL
  • $_fieldMappings protected
    array

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

  • $_lastAffected protected
    mixed
    Сохранение последнего изменённого значения
  • $columns public
    array
    Определение колонки в MS SQL
  • $description public
    string
    Описание драйвера
  • $endQuote public
    string
    Заключающий символ для идентификаторов в кавычках
  • $startQuote public
    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
    Генерирует оператор "удаление таблицы" для заданной таблицы
  • _execute() protected
    Выполняет заданный SQL-запрос.
  • _getPrimaryKey() protected
    Обеспечивает возврат первичного ключа
  • buildColumn() public
    Генерирует строку схемы колонки в формате базы данных
  • buildIndex() public
    Форматирует индексы для создания таблицы
  • column() public
    Преобразует типы колонок уровня базы данных в базовые типы
  • connect() public
    Подключается к базе данных с использованием параметров из массива конфигурации.
  • create() public

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

  • 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
    Возвращает оператор ограничения в правильном формате для конкретной базы данных.
  • listSources() public
    Возвращает массив источников (таблиц) в базе данных.
  • read() public

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

  • renderStatement() public
    Строит окончательный SQL-запрос
  • resultSet() public
    Строит карту столбцов, содержащихся в результате
  • update() public

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

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

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

_dropTable()source protected

_dropTable( type $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()
END_OF_DOCUMENT_MARKER

buildIndex()source public

buildIndex( array $indexes , string $table null )

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

Параметры

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

Возвращает

строка

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

DboSource::buildIndex()

column()source public

column( mixed $real )

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

Параметры

смешанный $real

Либо строковое значение типа поля, либо объект результата из Sqlserver::describe()

Возвращает

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

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

DataSource::column()

connect()source public

connect( )

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

Возвращает

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

Выбрасывает

MissingConnectionException

create()source public

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

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

Параметры

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 )

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

Параметры

смешанный $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-оператор ограничения/смещения

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

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-запроса. Возвращает ложь, если совпадений строк нет.

Параметры

Model $model
Модель для чтения.
массив $queryData необязательно array()
Данные запроса
целое число $recursive необязательно null
Сколько слоёв пройти.

Возвращает

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

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

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

_beginNested()source protected

_beginNested( )

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

Возвращает

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

_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
Модель, для которой нужно получить соединения.2

Возвращает

массив

_matchRecords()source protected

_matchRecords( Model $Model , mixed $conditions null )

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

Параметры

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

Возвращает

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

_mergeAssociation()source protected

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

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

Параметры

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

_mergeConditions()source protected

_mergeConditions( mixed $query , mixed $assoc )

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

Параметры

mixed $query
Запрос, для которого объединяются условия.
mixed $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 )

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

Параметры

строка $key
Фрагмент SQL-ключа, содержащий поле и необязательный оператор SQL
mixed $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 )

Приводит поля модели к кавычкам.

Параметры

строка $conditions
Условия, которые нужно привести к кавычкам.

Возвращает

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

_quoteMatchedField()source protected

_quoteMatchedField( string $match )

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

Параметры

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

Возвращает

строка
строка в кавычках

_rollbackNested()source protected

_rollbackNested( )

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

Возвращает

булево

_scrubQueryData()source protected

_scrubQueryData( array $data )

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

Параметры

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

Возвращает

массив

_writeQueryCache()source protected

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

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

Параметры

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

alterSchema()source public

alterSchema( mixed $compare , string $table null )

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

Параметры

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

Возвращает

булево

begin()source public

begin( )

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

Возвращает

булево

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


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

DataSource::begin()

boolean()source public

boolean( mixed $data , boolean $quote false )

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

Параметры

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

Возвращает

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

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 в запросе.

Возвращает

строка
Условие JOIN SQL, используемое в запросе.

См. также

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

buildStatement()source public

buildStatement( array $query , Model $Model )

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

Параметры

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

Возвращает

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

См. также

DboSource::renderStatement()

buildTableParameters()source public

buildTableParameters( array $parameters , string $table null )

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

Параметры

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

Возвращает

массив
END_OF_DOCUMENT_MARKER

cacheMethod()source public

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

Кэширование значения в methodCaches. Будет учитываться значение DboSource::$cacheMethods. Если $value равно null, будет извлечено значение из кэша.

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

Параметры

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

Возвращает

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

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

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

Возвращает

логическое

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


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

DataSource::commit()

conditionKeysToString()source public

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

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

Параметры

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

Возвращает

строка
SQL фрагмент

conditions()source public

conditions( mixed $conditions , boolean $quoteValues true , boolean $where true , Model $Model null )

Создаёт условие WHERE, анализируя заданные данные условий. Если предоставлены массив или строка условий, эти условия будут обработаны и обрамлены кавычками. Если предоставлен булево значение, оно будет преобразовано в целое число как условие. Null вернёт 1 = 1.

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

Параметры

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

Возвращает

строка
SQL фрагмент

createSchema()source public

createSchema( CakeSchema $schema , string $tableName null )

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

Параметры

CakeSchema $schema
Экземпляр подкласса CakeSchema
строка $tableName необязательно null

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

Возвращает

строка

defaultConditions()source public

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

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

Параметры

Model $Model
Модель для получения условий.
строка|массив|логическое $conditions

Массив условий, строка условий, null или false. Если массив условий или строка условий, эти условия будут возвращены. При других значениях будет проверка существования модели. Если модель не существует, будет возвращён null или false в зависимости от входного значения.

логическое $useAlias необязательно true
Использовать псевдонимы модели вместо имён таблиц при генерации условий

Возвращает

смешанное
Либо null, false, $conditions или массив стандартных условий.

См. также

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

delete()source public

delete( Model $Model , mixed $conditions null )

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

Параметры

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

Возвращает

логическое
Успех

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

DataSource::delete()

disconnect()source public

disconnect( )

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

Возвращает

логическое
Всегда true

dropSchema()source public

dropSchema( CakeSchema $schema , string $table null )

Генерирует 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 Массив информации о queryData, содержащий ключи, аналогичные Model::find().
булево $external
Ассоциация выполняется ли на внешнем источнике данных.

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

смешанное

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


getConnection()source public

getConnection( )

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

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

PDO

getConstraint()source public

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

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

Параметры

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

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

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

getLog()source public

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

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

Параметры

булево $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")

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

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

hasResult()source public

hasResult( )

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

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

булево
True, если результат действителен, иначе false

identifier()source public

identifier( string $identifier )

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

Параметры

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

Возвращает

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

index()source public

index( string $model )

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

Параметры

строка $model
Имя модели для проверки

Возвращает

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

introspectType()source public

introspectType( string $value )

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

Параметры

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

Возвращает

строка

isConnected()source public

isConnected( )

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

Возвращает

логическое значение
True, если база данных подключена, иначе 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 необязательный массив()
Значения, привязанные к запросу (подготовленные запросы)

name()source public

name( mixed $data )

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

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

Параметры

смешанный $data

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

Возвращает

строка
SQL поле

nestedTransactionSupported()source public

nestedTransactionSupported( )

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

Возвращает

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

order()source public

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

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

Параметры

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

Возвращает

строка
Строка ORDER BY

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().
логическое значение $external
Является ли запрос ассоциации для внешнего источника данных.
массив $resultSet
$resultSet Существующие результаты.
целое число $recursive
Количество уровней ассоциации.
массив $stack
Список соединённых моделей.

Возвращает

смешанный

Выбрасывает

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

rawQuery()source public

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

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

Параметры

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

Возвращает

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

readTableParameters()source public

readTableParameters( string $name )

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

Параметры

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

Возвращает

массив

reconnect()source public

reconnect( array $config array() )

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

Параметры

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

Возвращает

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

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

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


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

DataSource::rollback()

showLog()source public

showLog( boolean $sorted false )

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

Параметры

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

truncate()source public

truncate( Model|string $table )

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

Параметры

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

Возвращает

boolean
SQL-утверждение TRUNCATE TABLE, false, если не применимо.

Методы, унаследованные от 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
Стек контекста.

Возвращает

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

setConfig()source public

setConfig( array $config array() )

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

Параметры

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

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

_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
Успех записи в журнал
END_OF_DOCUMENT_MARKER

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

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

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

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

Подробности свойств

$_baseConfigsource

protected массив

Настройки базовой конфигурации для драйвера MS SQL

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

$_fieldMappingssource

protected массив

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

array()

$_lastAffectedsource

protected смешанный тип

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

false

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

$descriptionsource

public строка

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

"SQL Server DBO Driver"

$endQuotesource

public строка

Символ закрывающей кавычки для цитируемых идентификаторов

"]"

$startQuotesource

public строка

Символ открывающей кавычки для цитируемых идентификаторов

"["

© 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.8/class-Sqlserver.html

Spec-Zone.ru

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