Spec-Zone.ru › CakePHP 2.8

Класс Postgres

Уровень PostgreSQL для DBO.

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

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

  • $_baseConfig protected
    array
    Настройки конфигурации базового драйвера. Объединены с пользовательскими настройками.
  • $_sequenceMap protected
    array

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

  • $_sqlOps protected
    array
    Набор допустимых операций SQL, используемых в операторе WHERE.
  • $columns public
    array
    Столбцы
  • $description public
    string
    Описание драйвера
  • $endQuote public
    string
    Закрывающая кавычка
  • $startQuote public
    string
    Открывающая кавычка

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

  • _connection, _methodCacheChange, _queriesCnt, _queriesLog, _queriesLogMax, _queriesTime, _queryCache, _queryDefaults, _result, _sqlBoolOps, _transactionNesting, affected, alias, cacheMethods, configKeyName, fieldParameters, fullDebug, index, methodCache, numRows, tableParameters, took, useNestedTransactions, virtualFieldSeparator _descriptions, _sources, _transactionStarted, cacheSources, config, connected

Резюме методов

  • _alterIndexes() protected
    Генерирует PostgreSQL-запросы для изменения индексов таблицы.
  • _quoteFunctionField() protected

    Вспомогательная функция для обработки соответствующих (Model.fields) из вызова preg_replace_callback. Цитирует поля в вызове функции.

  • alterSchema() public
    Изменение схемы таблицы.
  • boolean() public
    Преобразование между значениями PHP boolean и PostgreSQL boolean.
  • buildColumn() public
    Генерирует строку схемы столбца PostgreSQL.
  • buildIndex() public
    Форматирование индексов для создания таблицы.
  • column() public
    Преобразование типов столбцов базы данных в базовые типы.
  • connect() public
    Подключение к базе данных с использованием опций в данном массиве конфигурации.
  • describe() public
    Возвращает массив полей в заданном имени таблицы.
  • enabled() public
    Проверка, включен/загружен ли PostgreSQL.
  • fetchResult() public
    Извлечение следующей строки из текущего набора результатов.
  • fields() public
    Генерирует список полей SQL-запроса.
  • getEncoding() public
    Получение кодировки базы данных.
  • getSchemaName() public
    Получение имени схемы.
  • getSequence() public
    Получение связанной последовательности для данной таблицы/поля.
  • index() public
    Возвращает массив индексов в данном источнике данных.
  • lastInsertId() public
    Возвращает ID, сгенерированный предыдущей операцией INSERT.
  • length() public
    Получение длины описания столбца базы данных или null, если длина отсутствует.
  • limit() public
    Возвращает оператор LIMIT в правильном формате для конкретной базы данных.
  • listSources() public
    Возвращает массив таблиц в базе данных. Если таблиц нет, генерируется ошибка, и приложение завершается.
  • name() public
    Подготовка имён полей для цитирования родительским классом.
  • nestedTransactionSupported() public
    Проверка поддержки вложенных транзакций сервером.
  • renderStatement() public
    Переопределяет DboSource::renderStatement для обработки генерации схемы с индексами в стиле PostgreSQL.
  • resetSequence() public

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

  • resultSet() public
    Метод resultSet.
  • setEncoding() public
    Установка кодировки базы данных.
  • truncate() public
    Удаляет все записи в таблице и удаляет все связанные последовательности автоинкремента.
  • value() public
    Возвращает цитированную и экранированную строку $data для использования в SQL-запросе.

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

_alterIndexes()source protected

_alterIndexes( string $table , array $indexes )

Генерирует PostgreSQL-запросы для изменения индексов таблицы.

Параметры

строка $table
Таблица для изменения индексов
массив $indexes
Индексы для добавления и удаления

Возвращает

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

_quoteFunctionField()source protected

_quoteFunctionField( string $match )

Вспомогательная функция для обработки соответствующих (Model.fields) из вызова preg_replace_callback. Цитирует поля в вызове функции.

Параметры

строка $match
соответствующая строка

Возвращает

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

alterSchema()source public

alterSchema( array $compare , string $table null )

Изменение схемы таблицы.

Параметры

массив $compare
Результаты CakeSchema::compare()
строка $table необязательно null
Имя таблицы

Возвращает

массив

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

DboSource::alterSchema()

boolean()source public

boolean( mixed $data , boolean $quote false )

Преобразование между значениями PHP boolean и PostgreSQL boolean.

Параметры

смешанное $data
Значение для преобразования
boolean $quote необязательно false
true для цитирования boolean для использования в запросе, false для возврата значения boolean

Возвращает

boolean
Преобразованное значение boolean

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

DboSource::boolean()
END_OF_DOCUMENT_MARKER

buildColumn()source public

buildColumn( array $column )

Сгенерировать строку схемы колонки Postgres

Параметры

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

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

Параметры

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

Возвращает

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

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

DataSource::column()

connect()source public

connect( )

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

Возвращает

логическое значение
Истина, если подключение успешно.

Выбрасывает

MissingConnectionException

describe()source public

describe( Model|string $model )

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

Параметры

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

Возвращает

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

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

DataSource::describe()

enabled()source public

enabled( )

Проверить, включен/загружен ли PostgreSQL

Возвращает

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

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

DataSource::enabled()

fetchResult()source public

fetchResult( )

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

Возвращает

массив

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

DboSource::fetchResult()

fields()source public

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

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

Параметры

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

Возвращает

массив

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

DboSource::fields()

getEncoding()source public

getEncoding( )

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

Возвращает

строка
Кодировка базы данных

getSchemaName()source public

getSchemaName( )

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

Возвращает

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

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

DataSource::getSchemaName()

getSequence()source public

getSequence( string|Model $table , string $field 'id' )

Получить связанную последовательность для заданной таблицы/поля

Параметры

строка|Model $table
Полное имя таблицы (с префиксом) как строка или объект модели
строка $field необязательный 'id'
Имя поля ID базы данных. По умолчанию "id"

Возвращает

строка
Имя связанной последовательности из карты последовательностей, по умолчанию "{$table}_{$field}_seq"

index()source public

index( string $model )

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

Параметры

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

Возвращает

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

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

DboSource::index()

lastInsertId()source public

lastInsertId( string $source null , string $field 'id' )

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

Параметры

строка $source необязательный null
Имя таблицы базы данных
строка $field необязательный 'id'
Имя поля ID базы данных. По умолчанию "id"

Возвращает

целое число

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

DboSource::lastInsertId()

length()source public

length( string $real )

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

Параметры

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

Возвращает

целое число
Целое число, представляющее длину столбца

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

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

name()source public

name( string $data )

Подготавливает имена полей для цитирования родительским элементом

Параметры

строка $data
Имя для форматирования.

Возвращает

строка
SQL поле

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

DboSource::name()

nestedTransactionSupported()source public

nestedTransactionSupported( )

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

Возвращает

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

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

DboSource::nestedTransactionSupported()

renderStatement()source public

renderStatement( string $type , array $data )

Переопределяет DboSource::renderStatement для обработки генерации схемы с индексами в стиле Postgres

Параметры

строка $type
Тип запроса.
массив $data
Массив данных для рендеринга.

Возвращает

строка

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

DboSource::renderStatement()
END_OF_DOCUMENT_MARKER

resetSequence()source public

resetSequence( string $table , string $column )

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

Параметры

строка $table
Имя таблицы для обновления.
строка $column

Столбец, используемый для сброса значения последовательности; имя последовательности будет извлечено с помощью Postgres::getSequence();

Возвращает

boolean
успех.

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

DboSource::resetSequence()

resultSet()source public

resultSet( array $results )

Метод resultSet

Параметры

массив $results
$results Результаты

setEncoding()source public

setEncoding( mixed $enc )

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

Параметры

смешанное $enc
Кодировка базы данных

Возвращает

boolean
Истина при успехе, ложь при ошибке

truncate()source public

truncate( string|Model $table , boolean $reset false )

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

Параметры

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

true для сброса последовательности, false для сохранения как есть. и если 1, последовательности не изменяются

Возвращает

boolean
SQL-запрос TRUNCATE TABLE, ложь, если не применимо.

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

DboSource::truncate()

value()source public

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

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

Параметры

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

Возвращает

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

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

DboSource::value()

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

__construct()source public

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

Конструктор

Параметры

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

Выбрасывает

MissingConnectionException
при невозможности подключения.

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

DataSource::__construct()

__destruct()source public

__destruct( )

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

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

DataSource::__destruct()

_beginNested()source protected

_beginNested( )

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

Возвращает

boolean

_buildFieldParameters()source protected

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

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

Параметры

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

Возвращает

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

_commitNested()source protected

_commitNested( )

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

Возвращает

boolean

_constructVirtualFields()source protected

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

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

Параметры

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

Возвращает

массив

_dropTable()source protected

_dropTable( type $table )

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

Параметры

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

Возвращает

строка
SQL-запрос удаления таблицы

_execute()source protected

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

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

Параметры

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

Возвращает

смешанное

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


Выбрасывает

PDOException

_fetchHasAndBelongsToMany()source protected

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

Извлечь ассоциации 'hasAndBelongsToMany'.

Параметры

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

Возвращает

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

_fetchHasMany()source protected

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

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

Параметры

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

Возвращает

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

_filterResults()source protected

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

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

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

Параметры

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

Возвращает

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

_filterResultsInclusive()source protected

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

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

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

Параметры

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

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

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

_getJoins()source protected

_getJoins( Model $Model )

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

Параметры

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

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

массив

_matchRecords()source protected

_matchRecords( Model $Model , mixed $conditions null )

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

Параметры

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

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

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

_mergeAssociation()source protected

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

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

Параметры

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

_mergeConditions()source protected

_mergeConditions( mixed $query , mixed $assoc )

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

Параметры

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

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

массив

_mergeHasMany()source protected

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

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

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

Параметры

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

_parseKey()source protected

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

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

Параметры

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

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

строка

_prepareUpdateFields()source protected

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

Приводит поля и значения к кавычкам и готовит их для оператора SQL UPDATE.

Параметры

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

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

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

_quoteFields()source protected

_quoteFields( string $conditions )

Приводит Model.fields к кавычкам

Параметры

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

begin()source public

begin( )

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

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

булево

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


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

DataSource::begin()

buildAssociationQuery()source public

buildAssociationQuery( Model $Model , array $queryData )

Создает оператор SQL.

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

Параметры

Model $Model
Модель, для которой нужно построить запрос ассоциации.
массив $queryData
Массив информации о 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 при ошибке, либо значение, если оно установлено.

calculate()source public

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

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

Параметры

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

Возвращает

строка
Функция SQL-вычисления

close()source public

close( )

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

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

DataSource::close()

commit()source public

commit( )

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

Возвращает

булево

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-фрагмент

create()source public

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

Функция "C" в CRUD

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

Параметры

Model $Model
Объект модели, для которой создаётся запись.
массив $fields необязательно null

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

массив $values необязательно null

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

Возвращает

булево
Успех

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

DataSource::create()

createSchema()source public

createSchema( CakeSchema $schema , string $tableName null )

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

Параметры

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

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

Возвращает

строка

defaultConditions()source public

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

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

Параметры

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

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

булево $useAlias необязательно 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
END_OF_DOCUMENT_MARKER

dropSchema()source public

dropSchema( CakeSchema $schema , string $table null )

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

Параметры

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

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

Возвращает

строка

execute()source public

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

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

Опции

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

Параметры

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

Возвращает

смешанное
Ресурс или объект, представляющий результат, или 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( )

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

Возвращает

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, существующий журнал очистится.

Возвращает

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

getQueryCache()source public

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

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

Параметры

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

Возвращает

смешанный тип
результаты запроса, если он кэширован, в противном случае 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 или 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
Объект, представляющий идентификатор базы данных для использования в запросе

insertMulti()source public

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

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

Параметры

строка $table
Таблица, в которую вставляются данные.
массив $fields
Массив имен полей/столбцов, которые вставляются.
массив $values

Массив значений для вставки. Значения должны быть массивом строк. Каждая строка должна иметь значения, индексированные по имени столбца. Каждая строка должна иметь значения в том же порядке, что и $fields.

Возвращает

логический тип

introspectType()source public

introspectType( string $value )

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

Параметры

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

Возвращает

строка

isConnected()source public

isConnected( )

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

Возвращает

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

lastAffected()source public

lastAffected( mixed $source null )

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

Параметры

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

Возвращает

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

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

DataSource::lastAffected()

lastError()source public

lastError( PDOStatement $query null )

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

Параметры

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

Возвращает

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

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

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

Возвращает

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

Исключения

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

rawQuery()source public

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

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

Параметры

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

Возвращает

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

read()source public

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

"R" в CRUD

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

Параметры

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

Возвращает

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

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

DataSource::read()

readTableParameters()source public

readTableParameters( string $name )

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

Параметры

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

Возвращает

массив

reconnect()source public

reconnect( array $config array() )

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

Параметры

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

Возвращает

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

renderJoinStatement()source public

renderJoinStatement( array $data )

Отображает окончательный SQL-запрос JOIN

Параметры

массив $data
Данные для генерации запроса join.

Возвращает

строка

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.

update()source public

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

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

Параметры

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

Возвращает

boolean
Успех

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

DataSource::update()

Методы, унаследованные от 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 необязательно массив()
Массив конфигурации

Методы, унаследованные от 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 необязательно массив()
Ассоциативный массив, содержащий свойства и соответствующие значения.

_stop()source protected

_stop( integer|string $status 0 )

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

Параметры

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

dispatchMethod()source public

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

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

Параметры

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

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

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

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 необязательно array()

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

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

mixed

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


toString()source public

toString( )

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

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

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

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

$_baseConfigsource

protected массив

Настройки конфигурации базового драйвера. Объединяются с пользовательскими настройками.

array(
    'persistent' => true,
    'host' => 'localhost',
    'login' => 'root',
    'password' => '',
    'database' => 'cake',
    'schema' => 'public',
    'port' => 5432,
    'encoding' => '',
    'sslmode' => 'allow',
    'flags' => array()
)

$_sequenceMapsource

protected массив

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

array()

$_sqlOpssource

protected массив

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

array('like', 'ilike', 'or', 'not', 'in', 'between', '~', '~\*', '\!~', '\!~\*', 'similar to')

$columnssource

public массив

Столбцы

array(
    'primary_key' => array('name' => 'serial NOT NULL'),
    'string' => array('name' => 'varchar', 'limit' => '255'),
    'text' => array('name' => 'text'),
    'integer' => array('name' => 'integer', 'formatter' => 'intval'),
    'biginteger' => array('name' => 'bigint', 'limit' => '20'),
    'float' => array('name' => 'float', 'formatter' => 'floatval'),
    'decimal' => array('name' => 'decimal', 'formatter' => 'floatval'),
    'datetime' => array('name' => 'timestamp', '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' => 'time', 'format' => 'H:i:s', 'formatter' => 'date'),
    'date' => array('name' => 'date', 'format' => 'Y-m-d', 'formatter' => 'date'),
    'binary' => array('name' => 'bytea'),
    'boolean' => array('name' => 'boolean'),
    'number' => array('name' => 'numeric'),
    'inet' => array('name' => 'inet'),
    'uuid' => array('name' => 'uuid')
)

$descriptionsource

public строка

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

"PostgreSQL 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-Postgres.html

Spec-Zone.ru

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