Spec-Zone.ru › CakePHP 2.7

Класс 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

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

_alterIndexesисходный код защищенный

_alterIndexes( string $table , array $indexes )

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

Параметры

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

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

array
Инструкции изменения индексов

_quoteFunctionFieldисходный код защищенный

_quoteFunctionField( string $match )

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

Параметры

строка $match
сопоставленная строка

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

string
цитируемая строка

alterSchemaисходный код общедоступный

alterSchema( array $compare , string $table null )

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

Параметры

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

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

array
массив

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

DboSource::alterSchema()

booleanисходный код общедоступный

boolean( mixed $data , boolean $quote false )

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

Параметры

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

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

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

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

DboSource::boolean()

buildColumnисходный код общедоступный

buildColumn( array $column )

Генерирует строку схемы столбца PostgreSQL.

Параметры

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

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

string
строка

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

DboSource::buildColumn()

buildIndexисходный код общедоступный

buildIndex( array $indexes , string $table null )

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

Параметры

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

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

string
строка

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

DboSource::buildIndex()

columnисходный код общедоступный

column( string $real )

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

Параметры

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

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

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

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

DataSource::column()

connectисходный код общедоступный

connect( )

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

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

boolean
True, если подключение выполнено успешно.

Исключения

MissingConnectionException
MissingConnectionException

describeисходный код общедоступный

describe( Model|string $model )

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

Параметры

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

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

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

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

DataSource::describe()

enabledисходный код общедоступный

enabled( )

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

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

boolean
bool

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

DataSource::enabled()

fetchResultисходный код общедоступный

fetchResult( )

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

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

array
массив

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

DboSource::fetchResult()

fieldsисходный код общедоступный

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

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

Параметры

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

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

array
массив

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

DboSource::fields()

getEncodingисходный код общедоступный

getEncoding( )

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

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

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

getSchemaNameисходный код общедоступный

getSchemaName( )

Получение имени схемы.

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

string
Имя схемы

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

DataSource::getSchemaName()

getSequenceисходный код общедоступный

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

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

Параметры

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

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

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

indexисходный код общедоступный

index( string $model )

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

Параметры

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

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

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

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

DboSource::index()

lastInsertIdsource public

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

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

Параметры

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

Возвращает

integer
int

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

DboSource::lastInsertId()

lengthsource public

length( string $real )

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

Параметры

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

Возвращает

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

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

DboSource::length()

limitsource public

limit( integer $limit , integer $offset null )

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

Параметры

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

Возвращает

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

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

DboSource::limit()

listSourcessource public

listSources( mixed $data null )

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

Параметры

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

Возвращает

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

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

DataSource::listSources()

namesource public

name( string $data )

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

Параметры

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

Возвращает

string
SQL поле

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

DboSource::name()

nestedTransactionSupportedsource public

nestedTransactionSupported( )

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

Возвращает

boolean
bool

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

DboSource::nestedTransactionSupported()

renderStatementsource public

renderStatement( string $type , array $data )

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

Параметры

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

Возвращает

string
строка

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

DboSource::renderStatement()

resetSequencesource public

resetSequence( string $table , string $column )

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

Параметры

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

Возвращает

boolean
успех.

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

DboSource::resetSequence()

resultSetsource public

resultSet( array $results )

Метод resultSet

Параметры

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

setEncodingsource public

setEncoding( mixed $enc )

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

Параметры

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

Возвращает

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

truncatesource public

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

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

Параметры

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

Возвращает

boolean
SQL оператор TRUNCATE TABLE, false, если не применимо.

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

DboSource::truncate()

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

__constructsource public

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

Конструктор

Параметры

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

Исключения

MissingConnectionException
когда подключение не может быть установлено.

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

DataSource::__construct()

__destructsource public

__destruct( )

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

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

DataSource::__destruct()

_beginNestedsource protected

_beginNested( )

Начало вложенной транзакции

Возвращает

boolean
bool

_buildFieldParameterssource protected

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

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

Параметры

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

Возвращает

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

_commitNestedsource protected

_commitNested( )

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

Возвращает

boolean
bool

_constructVirtualFieldssource protected

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

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

Параметры

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

Возвращает

array
массив

_dropTablesource protected

_dropTable( type $table )

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

Параметры

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

Возвращает

string
SQL оператор удаления таблицы
END_OF_DOCUMENT_MARKER ```

_executesource protected

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

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

Параметры

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

Возвращает

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

Выбрасывает

PDOException
PDOException

_fetchHasAndBelongsToManysource protected

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

Получить ассоциации 'hasAndBelongsToMany'.

Параметры

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

Возвращает

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

_fetchHasManysource protected

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

Получить ассоциации 'hasMany'.

Параметры

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

Возвращает

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

_filterResultssource protected

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

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

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

Параметры

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

Возвращает

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

_filterResultsInclusivesource protected

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

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

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

Параметры

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

Возвращает

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

_getJoinssource protected

_getJoins( Model $Model )

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

Параметры

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

Возвращает

array
массив

_matchRecordssource protected

_matchRecords( Model $Model , mixed $conditions null )

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

Параметры

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

Возвращает

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

_mergeAssociationsource protected

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

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

Параметры

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

_mergeConditionssource protected

_mergeConditions( mixed $query , mixed $assoc )

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

Параметры

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

Возвращает

array
массив

_mergeHasManysource protected

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

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

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

Параметры

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

_parseKeysource protected

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

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

Параметры

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

Возвращает

string
строка

_prepareUpdateFieldssource protected

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

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

Параметры

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

Возвращает

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

_quoteFieldssource protected

_quoteFields( string $conditions )

Обрабатывает поля Model.fields

Параметры

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

Возвращает

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

_quoteMatchedFieldsource protected

_quoteMatchedField( string $match )

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

Параметры

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

Возвращает

string
обработанная строка

_rollbackNestedsource protected

_rollbackNested( )

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

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

boolean
bool

_scrubQueryDatasource protected

_scrubQueryData( array $data )

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

Параметры

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

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

array
массив

_writeQueryCachesource protected

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

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

Параметры

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

beginsource public

begin( )

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

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

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

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

DataSource::begin()

buildAssociationQuerysource public

buildAssociationQuery( Model $Model , array $queryData )

Строит SQL-запрос.

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

Параметры

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

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

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

См. также

DboSource::buildStatement()

buildJoinStatementsource public

buildJoinStatement( array $join )

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

Параметры

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

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

string
Условие SQL JOIN для использования в запросе.

См. также

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

buildStatementsource public

buildStatement( array $query , Model $Model )

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

Параметры

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

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

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

См. также

DboSource::renderStatement()

buildTableParameterssource public

buildTableParameters( array $parameters , string $table null )

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

Параметры

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

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

array
массив

cacheMethodsource public

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

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

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

Параметры

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

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

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

calculatesource public

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

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

Параметры

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

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

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

closesource public

close( )

Отсоединяет базу данных, закрывает соединение и сообщает о его закрытии.

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

DataSource::close()

commitsource public

commit( )

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

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

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

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

DataSource::commit()

conditionKeysToStringsource public

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

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

Параметры

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

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

string
Фрагмент SQL

conditionssource public

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

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

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

Параметры

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

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

string
Фрагмент SQL

createsource public

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

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

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

Параметры

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

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

boolean
Успешно

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

DataSource::create()

createSchemasource public

createSchema( CakeSchema $schema , string $tableName null )

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

Параметры

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

Возвращает

string
строка

defaultConditionssource public

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

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

Параметры

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

Возвращает

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

См. также

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

deletesource public

delete( Model $Model , mixed $conditions null )

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

Параметры

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

Возвращает

boolean
Успех

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

DataSource::delete()

disconnectsource public

disconnect( )

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

Возвращает

boolean
Всегда true

dropSchemasource public

dropSchema( CakeSchema $schema , string $table null )

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

Параметры

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

Возвращает

string
строка

executesource public

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

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

Параметры

  • log - Выполнять ли логирование запроса в кэше памяти.

Параметры

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

Возвращает

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

expressionsource public

expression( string $expression )

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

Параметры

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

Возвращает

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

fetchAllsource public

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

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

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

Параметры

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

Параметры

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

Возвращает

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

fetchAssociatedsource public

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

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

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

Параметры

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

Возвращает

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

См. также

DboSource::_fetchHasMany()

fetchRowsource public

fetchRow( string $sql null )

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

Параметры

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

Возвращает

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

fetchVirtualFieldsource public

fetchVirtualField( array $result )

Модифицирует массив $result, помещая виртуальные поля в записи модели, где они должны находиться.

Параметры

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

fieldsource public

field( string $name , string $sql )

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

Параметры

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

Возвращает

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

flushMethodCachesource public

flushMethodCache( )

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

fullTableNamesource public

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

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

Параметры

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

Возвращает

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

generateAssociationQuerysource public

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

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

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

Параметры

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

Возвращает

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

getConnectionsource public

getConnection( )

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

Возвращает

PDO
PDO

getConstraintsource public

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

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

Параметры

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

Возвращает

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

getLogsource public

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

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

Параметры

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

Возвращает

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

getQueryCachesource public

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

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

Параметры

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

Возвращает

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

getVersionsource public

getVersion( )

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

Возвращает

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

groupsource public

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

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

Параметры

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

Возвращает

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

hasAnysource public

hasAny( Model $Model , string $sql )

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

Параметры

Model $Model
Модель для поиска.
string $sql
SQL-оператор WHERE (только условие, а не часть "WHERE").

Возвращает

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

hasResultsource public

hasResult( )

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

Возвращает

boolean
True, если результат действительный, в противном случае false

identifiersource public

identifier( string $identifier )

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

Параметры

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

Возвращает

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

insertMultisource public

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

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

Параметры

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

Возвращает

boolean
bool

introspectTypesource public

introspectType( string $value )

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

Параметры

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

Возвращает

string
string

isConnectedsource public

isConnected( )

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

Возвращает

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

lastAffectedsource public

lastAffected( mixed $source null )

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

Параметры

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

Возвращает

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

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

DataSource::lastAffected()

lastErrorsource public

lastError( PDOStatement $query null )

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

Параметры

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

Возвращает

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

lastNumRowssource public

lastNumRows( mixed $source null )

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

Параметры

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

Возвращает

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

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

DataSource::lastNumRows()
END_OF_DOCUMENT_MARKER

logQuerysource public

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

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

Параметры

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

ordersource public

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

Возвращает оператор ORDER BY в виде строки.

Параметры

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

Возвращает

string
Оператор ORDER BY

prepareFieldssource public

prepareFields( Model $Model , array $queryData )

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

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

Параметры

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

Возвращает

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

querysource public

query( )

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

Возвращает

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

queryAssociationsource public

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

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

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

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

Параметры

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

Возвращает

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

Выбрасывает

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

rawQuerysource public

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

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

Параметры

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

Возвращает

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

readsource public

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

Операция "Чтение" в CRUD

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

Параметры

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

Возвращает

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

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

DataSource::read()

readTableParameterssource public

readTableParameters( string $name )

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

Параметры

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

Возвращает

array
массив

reconnectsource public

reconnect( array $config array() )

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

Параметры

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

Возвращает

boolean
True при успехе, false при неудаче

renderJoinStatementsource public

renderJoinStatement( array $data )

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

Параметры

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

Возвращает

string
строка

resolveKeysource public

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

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

Параметры

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

Возвращает

string
строка

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

DataSource::resolveKey()

rollbacksource public

rollback( )

Откат транзакции

Возвращает

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

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

DataSource::rollback()

showLogsource public

showLog( boolean $sorted false )

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

Параметры

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

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

valuesource public

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

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

Параметры

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

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

string
Сконструированные и экранированные данные

Наследуемые методы от DataSource

_cacheDescriptionsource protected

_cacheDescription( string $object , mixed $data null )

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

Параметры

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

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

mixed
смешанное значение

insertQueryDatasource public

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

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

Параметры

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

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

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

setConfigsource public

setConfig( array $config array() )

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

Параметры

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

Наследуемые методы от Object

_mergeVarssource protected

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

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

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

Параметры

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

_setsource protected

_set( array $properties array() )

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

Параметры

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

_stopsource protected

_stop( integer|string $status 0 )

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

Параметры

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

dispatchMethodsource public

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

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

Параметры

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

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

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

logsource public

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

Удобный метод для записи сообщения в CakeLog. Подробнее о записи в логах см. CakeLog::write().

Параметры

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

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

boolean
Результат успешной записи в лог

requestActionsource public

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

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

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

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

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

Параметры

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

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

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

toStringsource public

toString( )

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

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

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

Сводка свойств

$_baseConfigsource

protected array

Базовые настройки драйвера. Объединяются с пользовательскими настройками.

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

$_sequenceMapsource

protected array

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

array()

$_sqlOpssource

protected array

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

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

$columnssource

public array

Столбцы

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

$descriptionsource

public string

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

"PostgreSQL DBO Driver"

$endQuotesource

public string

Закрывающая кавычка

'"'

$startQuotesource

public string

Открывающая кавычка

'"'

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

$_connectionsource

protected array

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

null

$_methodCacheChangesource

protected boolean

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

false

$_queriesCntsource

protected integer

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

$_queriesLogsource

protected array

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

array()

$_queriesLogMaxsource

protected integer

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

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

200

$_queriesTimesource

protected integer

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

null

$_queryCachesource

protected array

Кэширует сериализованные результаты выполненных запросов

array()

$_queryDefaultssource

protected array

Поля по умолчанию, используемые DBO

array(
    'conditions' => array(),
    'fields' => null,
    'table' => null,
    'alias' => null,
    'order' => null,
    'limit' => null,
    'joins' => array(),
    'group' => null,
    'offset' => null
)

$_resultsource

protected array

Результат

null

$_transactionNestingsource

protected integer

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

$affectedsource

public string

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

null

$aliassource

public string

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

'AS '

$cacheMethodssource

public boolean

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

true

$configKeyNamesource

public string

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

null

$fieldParameterssource

public array

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

array()

$fullDebugsource

public boolean

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

false

$indexsource

public array

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

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

$methodCachesource

public static array

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

array()

$numRowssource

public integer

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

null

$tableParameterssource

public array

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

array()

$tooksource

public integer

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

null

$useNestedTransactionssource

public boolean

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

false

$virtualFieldSeparatorsource

public string

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

'__'

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

$_descriptionssource

protected array

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

array()

$_sourcessource

protected array

Содержит список источников (таблиц), содержащихся в источнике данных.

null

$_transactionStartedsource

protected boolean

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

false

$cacheSourcessource

public boolean

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

true

$configsource

public array

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

array()

$connectedsource

public boolean

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

false

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

Spec-Zone.ru

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