Класс Sqlite
Реализация DBO для СУБД SQLite3.
Адаптер DboSource для SQLite 3 с использованием PDO
- Объект
-
Источник данных -
DboSource -
Sqlite
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: Лицензия MIT
Расположение: Cake/Model/Datasource/Database/Sqlite.php
Краткое описание свойств
-
$_baseConfigprotectedБазовые параметры конфигурации для драйвера SQLite3array -
$columnspublicОпределение столбца SQLite3array -
$descriptionpublicОписание источника данныхstring -
$endQuotepublicКонец кавычекstring -
$fieldParameterspublicСписок дополнительных параметров, специфичных для движка, используемых при создании таблицarray -
$startQuotepublicНачало кавычекstring
Унаследованные свойства
-
_connection,_methodCacheChange,_queriesCnt,_queriesLog,_queriesLogMax,_queriesTime,_queryCache,_queryDefaults,_result,_sqlBoolOps,_sqlOps,_transactionNesting,affected,alias,cacheMethods,configKeyName,fullDebug,index,methodCache,numRows,tableParameters,took,useNestedTransactions,virtualFieldSeparator_descriptions,_sources,_transactionStarted,cacheSources,config,connected
Краткое описание методов
- _dropTable() protectedГенерирует оператор "удаление таблицы" для заданной таблицы
- buildColumn() publicГенерирует строку схемы столбца, нативную для базы данных
- buildIndex() publicУдаляет избыточные индексы первичного ключа, поскольку они обрабатываются в определении столбца ключа.
- column() publicПреобразует типы столбцов уровня базы данных в базовые типы
- connect() publicПодключается к базе данных, используя config['database'] в качестве имени файла.
- describe() publicВозвращает массив полей в заданном имени таблицы.
- enabled() publicПроверяет, установлен ли/загружен ли расширение SQLite
- fetchResult() publicИзвлекает следующую строку из текущего набора результатов
- getEncoding() publicПолучает кодировку базы данных
- getSchemaName() publicПолучает имя схемы
- hasResult() publicPDO работает с объектами, а не с ресурсами, поэтому перегружайте соответственно.
- index() public
Переопределяет DboSource::index для обработки интроспекции индексов SQLite Возвращает массив индексов в заданном имени таблицы.
- limit() publicВозвращает оператор ограничения в правильном формате для конкретной базы данных.
- listSources() publicВозвращает массив таблиц в базе данных. Если таблиц нет, возникает ошибка, и приложение завершается.
- nestedTransactionSupported() publicПроверяет, поддерживает ли сервер вложенные транзакции
- renderStatement() publicПереопределяет DboSource::renderStatement для обработки генерации схемы с индексами в стиле SQLite
- resultSet() publicГенерировать ResultSet
- setEncoding() publicУстанавливает кодировку базы данных
- truncate() public
Удаляет все записи в таблице и сбрасывает счётчик автоинкрементируемого первичного ключа, где это применимо.
- update() publicГенерирует и выполняет оператор SQL UPDATE для заданной модели, полей и значений.
Подробное описание методов
_dropTable()source protected
_dropTable( type $table )
Генерирует оператор "удаление таблицы" для заданной таблицы
Параметры
- type
$table - Имя таблицы, которую нужно удалить
Возвращает
stringОператор SQL удаления таблицы
Переопределяет
DboSource::_dropTable() buildColumn()source public
buildColumn( array $column )
Генерирует строку схемы столбца, нативную для базы данных
Параметры
- array
$column Массив, структурированный следующим образом: array('name'=>'value', 'type'=>'value'[, options]), где options может быть 'default', 'length', или 'key'.
Возвращает
stringПереопределяет
DboSource::buildColumn() buildIndex()source public
buildIndex( array $indexes , string $table null )
Удаляет избыточные индексы первичного ключа, поскольку они обрабатываются в определении столбца ключа.
Параметры
- array
$indexes - Индексы для построения.
- string
$tableoptional null - Имя таблицы.
Возвращает
stringЗавершенный индекс.
Переопределяет
DboSource::buildIndex() column()source public
column( string $real )
Преобразует типы столбцов уровня базы данных в базовые типы
Параметры
- string
$real - Реальный тип столбца уровня базы данных (например, "varchar(255)")
Возвращает
stringАбстрактный тип столбца (например, "строка")
Переопределяет
DataSource::column() connect()source public
connect( )
Подключается к базе данных, используя config['database'] в качестве имени файла.
Возвращает
booleanВыбрасывает
MissingConnectionExceptiondescribe()source public
describe( Model|string $model )
Возвращает массив полей в заданном имени таблицы.
Параметры
-
Model|string$model - Модель или имя таблицы, описание которой требуется.
Возвращает
arrayПоля в таблице. Ключи - имя и тип
Переопределяет
DataSource::describe() enabled()source public
enabled( )
Проверяет, установлен ли/загружен ли расширение SQLite
Возвращает
booleanПереопределяет
DataSource::enabled() fetchResult()source public
fetchResult( )
Извлекает следующую строку из текущего набора результатов
Возвращает
mixedмассив с извлечёнными и сопоставленными результатами к именам столбцов или false, если нет больше результатов для извлечения
Переопределяет
DboSource::fetchResult() getEncoding()source public
getEncoding( )
Получение кодировки базы данных
Возвращает
stringКодировка базы данных
getSchemaName()source public
getSchemaName( )
Получение имени схемы
Возвращает
stringИмя схемы
Переопределяет
DataSource::getSchemaName() hasResult()source public
hasResult( )
PDO работает с объектами, а не ресурсами, поэтому переопределите соответственно.
Возвращает
booleanПереопределяет
DboSource::hasResult() index()source public
index( string $model )
Переопределяет DboSource::index для обработки индексирования SQLite. Возвращает массив индексов в указанном имени таблицы.
Параметры
- string
$model - Имя модели для проверки
Возвращает
arrayПоля в таблице. Ключи — столбец и уникальность
Переопределяет
DboSource::index() limit()source public
limit( integer $limit , integer $offset null )
Возвращает ограничение запроса в правильном формате для конкретной базы данных.
Параметры
- integer
$limit - Предел возвращаемых результатов
- integer
$offsetoptional null - Смещение для начала результатов
Возвращает
stringSQL-запрос с ограничением/смещением
Переопределяет
DboSource::limit() listSources()source public
listSources( mixed $data null )
Возвращает массив таблиц в базе данных. Если таблиц нет, генерируется ошибка, и приложение завершается.
Параметры
- mixed
$dataoptional null - Не используется.
Возвращает
arrayМассив имён таблиц в базе данных
Переопределяет
DataSource::listSources() nestedTransactionSupported()source public
nestedTransactionSupported( )
Проверка поддержки вложенных транзакций на сервере
Возвращает
booleanПереопределяет
DboSource::nestedTransactionSupported() renderStatement()source public
renderStatement( string $type , array $data )
Переопределяет DboSource::renderStatement для обработки генерации схемы с индексами в стиле SQLite.
Параметры
- string
$type - Тип выполняемого запроса.
- array
$data - Данные для преобразования в SQL.
Возвращает
stringПереопределяет
DboSource::renderStatement() resultSet()source public
resultSet( mixed $results )
Генерация набора результатов
Параметры
- mixed
$results - Результаты для изменения.
setEncoding()source public
setEncoding( string $enc )
Установка кодировки базы данных
Параметры
- string
$enc - Кодировка базы данных
Возвращает
booleantruncate()source public
truncate( string|Model $table )
Удаляет все записи из таблицы и сбрасывает счётчик автоинкрементируемого первичного ключа, если применимо.
Параметры
- string|
Model$table - Строка или класс модели, представляющий таблицу для усечения
Возвращает
booleanSQL-запрос TRUNCATE TABLE, false, если не применимо.
Переопределяет
DboSource::truncate() update()source public
update( Model $model , array $fields array() , array $values null , mixed $conditions null )
Генерирует и выполняет SQL-запрос UPDATE для заданной модели, полей и значений.
Параметры
-
Model$model - Экземпляр модели для обновления.
- array
$fieldsoptional array() - Поля для обновления.
- array
$valuesoptional null - Значения для установки столбцов.
- mixed
$conditionsoptional null - Массив условий для использования.
Возвращает
arrayПереопределяет
DboSource::update() Методы, унаследованные от DboSource
__construct()source public
__construct( array $config null , boolean $autoConnect true )
Конструктор
Параметры
- array
$configoptional null - Массив данных конфигурации для источника данных.
- boolean
$autoConnectoptional true - Указывает, нужно ли автоматически подключаться к источнику данных.
Выбрасывает
MissingConnectionExceptionпри невозможности подключения.
Переопределяет
DataSource::__construct() __destruct()source public
__destruct( )
Используется для сохранения результатов метода in-memory methodCache в кэше
Переопределяет
DataSource::__destruct() _buildFieldParameters()source protected
_buildFieldParameters( string $columnString , array $columnData , string $position )
Составление параметров поля в позиции
Параметры
- string
$columnString - Частично составленная строка столбца
- array
$columnData - Массив данных столбца.
- string
$position - Тип позиции для использования. 'beforeDefault' или 'afterDefault' — распространённые варианты
Возвращает
stringСоставленный столбец с добавленными параметрами поля.
_constructVirtualFields()source protected
_constructVirtualFields( Model $Model , string $alias , array $fields )
Преобразование виртуальных полей модели в выражения SQL для последующего извлечения
Параметры
-
Model$Model - Модель для получения виртуальных полей.
- string
$alias - Псевдоним имени таблицы
- array
$fields - Виртуальные поля для использования в запросе
Возвращает
array_execute()source protected
_execute( string $sql , array $params array() , array $prepareOptions array() )
Выполнение данного SQL-запроса.
Параметры
- string
$sql - SQL-запрос
- array
$paramsoptional array() - Список параметров, которые необходимо привязать к запросу
- array
$prepareOptionsoptional array() - Параметры для использования в операторе prepare
Возвращает
mixedPDOStatement, если запрос выполняется без проблем, true в случае успешного запроса, не возвращающего строк, таких как CREATE, false в противном случае
Выбрасывает
PDOException_fetchHasAndBelongsToMany()source protected
_fetchHasAndBelongsToMany( Model $Model , string $query , array $ids , string $association )
Получить ассоциации 'hasAndBelongsToMany'.
Параметры
-
Model$Model - Основной объект модели.
- string
$query - Запрос к ассоциации.
- array
$ids - Массив идентификаторов связанных записей.
- string
$association - Имя ассоциации.
Возвращает
arrayРезультаты ассоциации.
_fetchHasMany()source protected
_fetchHasMany( Model $Model , string $query , array $ids )
Получить ассоциации 'hasMany'.
Параметры
-
Model$Model - Основной объект модели.
- string
$query - Шаблон запроса к ассоциации.
- array
$ids - Массив идентификаторов связанных записей.
Возвращает
arrayРезультаты ассоциации.
_filterResults()source protected
_filterResults( array $resultSet , Model $Model , array $filtered array() )
Пропускает результаты ассоциации через фильтры afterFind соответствующей модели.
Основная модель всегда исключается, потому что фильтрация выполняется позднее в Model::_filterResults().
Параметры
- array
$resultSet - $resultSet Ссылка на набор результатов для фильтрации.
-
Model$Model - Экземпляр модели для обработки.
- array
$filteredoptional array() - Список классов, которые уже отфильтрованы, чтобы их пропустить.
Возвращает
arrayМассив результатов, отфильтрованных через $Model->afterFind.
_filterResultsInclusive()source protected
_filterResultsInclusive( array $resultSet , Model $Model , array $toBeFiltered array() )
Пропускает результаты ассоциации через фильтры afterFind соответствующей модели.
Аналогично DboSource::_filterResults(), но фильтрует только указанные модели. Основная модель не может быть указана, потому что этот вызов DboSource::_filterResults() выполняется внутри.
Параметры
- array
$resultSet - $resultSet Ссылка на набор результатов для фильтрации.
-
Model$Model - Экземпляр модели для обработки.
- array
$toBeFilteredoptional array() - Список классов для фильтрации.
Возвращает
arrayМассив результатов, отфильтрованных через $Model->afterFind.
_getJoins()source protected
_getJoins( Model $Model )
Возвращает массив условий SQL JOIN из ассоциаций модели.
Параметры
-
Model$Model - Модель, для которой нужно получить условия JOIN.
Возвращает
array_matchRecords()source protected
_matchRecords( Model $Model , mixed $conditions null )
Получает список идентификаторов записей для заданных условий. Используется для обновлений и удалений нескольких записей в базах данных, которые не поддерживают псевдонимы в запросах UPDATE/DELETE.
Параметры
-
Model$Model - Модель, для которой нужно найти соответствующие записи.
- mixed
$conditionsoptional null - Условия для сопоставления.
Возвращает
arrayСписок идентификаторов записей
_mergeAssociation()source protected
_mergeAssociation( array $data , array $merge , string $association , string $type , boolean $selfJoin false )
Объединить ассоциацию с данными
Параметры
- array
$data - $data Данные для объединения.
- array
$merge - $merge Данные для объединения.
- string
$association - Имя ассоциации для объединения.
- string
$type - Тип ассоциации
- boolean
$selfJoinoptional false - Является ли это самосвязью?
_mergeConditions()source protected
_mergeConditions( mixed $query , mixed $assoc )
Объединяет набор условий в виде строки/массива.
Параметры
- mixed
$query - Запрос для объединения условий.
- mixed
$assoc - Имена ассоциаций.
Возвращает
array_mergeHasMany()source protected
_mergeHasMany( array $resultSet , array $assocResultSet , string $association , Model $Model )
Объединить результаты ассоциаций 'hasMany'.
Примечание: эта функция также обрабатывает форматирование данных.
Параметры
- array
$resultSet - $resultSet Данные для объединения.
- array
$assocResultSet - Данные для объединения.
- string
$association - Имя объединяемой модели.
-
Model$Model - Модель, к которой присоединяется.
_parseKey()source protected
_parseKey( string $key , mixed $value , Model $Model null )
Извлекает идентификатор Model.field и оператор SQL-условия из строки, форматирует и вставляет значения, и составляет из них SQL-фрагмент.
Параметры
- string
$key - SQL-фрагмент ключа, содержащий поле и необязательный оператор SQL.
- mixed
$value - Значение(я) для вставки в строку.
-
Model$Modeloptional null - Объект модели, инициализирующий запрос.
Возвращает
string_prepareUpdateFields()source protected
_prepareUpdateFields( Model $Model , array $fields , boolean $quoteValues true , boolean $alias false )
Приводит к кавычкам и подготавливает поля и значения для оператора SQL UPDATE.
Параметры
-
Model$Model - Модель, для которой нужно подготовить поля.
- array
$fields - Поля для обновления.
- boolean
$quoteValuesoptional true - Если значения должны быть приведены к кавычкам или обработаны как фрагменты SQL.
- boolean
$aliasoptional false - Включать псевдоним модели в имя поля.
Возвращает
arrayПоля и значения, приведенные к кавычкам и подготовленные
_quoteFields()source protected
_quoteFields( string $conditions )
Приводит Model.fields к кавычкам.
Параметры
- string
$conditions - Условия для приведения к кавычкам.
Возвращает
stringили false, если нет совпадений
_quoteMatchedField()source protected
_quoteMatchedField( string $match )
Вспомогательная функция для приведения совпадений Model.fields из вызова preg_replace_callback.
Параметры
- string
$match - Совпавший фрагмент
Возвращает
stringСтрока с кавычками
_rollbackNested()source protected
_rollbackNested( )
Откатить вложенную транзакцию
Возвращает
boolean_scrubQueryData()source protected
_scrubQueryData( array $data )
Вспомогательный метод для удаления метаданных запроса из заданного массива данных.
Параметры
- array
$data - Данные для очистки.
Возвращает
array_writeQueryCache()source protected
_writeQueryCache( string $sql , mixed $data , array $params array() )
Записывает новый ключ для кэша запросов SQL в оперативной памяти
Параметры
- строка
$sql - Запрос SQL
- смешанный
$data - результат запроса $sql
- массив
$paramsнеобязательно array() - параметры запроса, привязанные как значения
alterSchema()source public
alterSchema( mixed $compare , string $table null )
Генерирует синтаксис изменения из CakeSchema::compare()
Параметры
- смешанный
$compare - Данные сравнения.
- строка
$tableнеобязательно null - Имя таблицы.
Возвращает
booleanbegin()source public
begin( )
Начать транзакцию
Возвращает
booleanTrue при успехе, false при ошибке (например, если база данных/модель не поддерживает транзакции или транзакция не начата).
Переопределяет
DataSource::begin() boolean()source public
boolean( mixed $data , boolean $quote false )
Перевод между булевыми значениями PHP и значениями булевых баз данных (имитация)
Параметры
- смешанный
$data - Значение для перевода
- boolean
$quoteнеобязательно false - Преобразовывать ли поле в строку.
Возвращает
string|booleanПреобразованное булевое значение
buildAssociationQuery()source public
buildAssociationQuery( Model $Model , array $queryData )
Строит SQL-запрос.
Это просто удобная обертка для DboSource::buildStatement().
Параметры
-
Model$Model - Модель для построения запроса ассоциации.
- массив
$queryData - Массив данных запроса, содержащий ключи, аналогичные Model::find().
Возвращает
строкаСтрока, содержащая SQL-запрос.
См. также
DboSource::buildStatement()buildJoinStatement()source public
buildJoinStatement( array $join )
Строит и генерирует условие JOIN из массива. Обрабатывает окончательную очистку перед преобразованием.
Параметры
- массив
$join - Массив, определяющий условие JOIN в запросе.
Возвращает
строка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необязательно array() - Параметры функции (любые значения должны быть вручную приведены к строкам)
Возвращает
строкаSQL-функция вычисления
close()source public
close( )
Отключает базу данных, завершает соединение и указывает, что соединение закрыто.
Переопределяет
DataSource::close() commit()source public
commit( )
Подтвердить транзакцию
Возвращает
booleanTrue при успехе, false при ошибке (например, если база данных/модель не поддерживает транзакции или транзакция не начата).
Переопределяет
DataSource::commit() conditionKeysToString()source public
conditionKeysToString( array $conditions , boolean $quoteValues true , Model $Model null )
Создаёт условие WHERE, анализируя предоставленный массив условий. Используется методом DboSource::conditions().
Параметры
- массив
$conditions - Массив или строка условий
- boolean
$quoteValuesнеобязательно true - Если true, значения должны быть обрамлены кавычками
-
Model$Modelнеобязательно null - Ссылка на экземпляр модели, выполняющей запрос
Возвращает
строкаSQL-фрагмент
conditions()source public
conditions( mixed $conditions , boolean $quoteValues true , boolean $where true , Model $Model null )
Создаёт условие WHERE, анализируя предоставленные данные условий. Если предоставляются массив или строка условий, эти условия будут проанализированы и обрамлены кавычками. Если передаётся boolean, он будет преобразован в целое число как условие. Null вернёт 1 = 1.
Результаты этого метода хранятся в кэше памяти. Это повышает производительность, но, поскольку метод использует алгоритм хеширования, могут быть коллизии. Установка DboSource::$cacheMethods в false отключит кэш памяти.
Параметры
- смешанный
$conditions - Массив или строка условий, или любое значение.
- boolean
$quoteValuesнеобязательно true - Если true, значения должны быть обрамлены кавычками
- boolean
$whereнеобязательно true - Если true, "WHERE " будет добавлено в начало возвращаемого значения
-
Model$Modelнеобязательно null - Ссылка на экземпляр модели, выполняющей запрос
Возвращает
строкаSQL-фрагмент
create()source public
create( Model $Model , array $fields null , array $values null )
Буква «С» в CRUD
Создаёт новые записи в базе данных.
Параметры
-
Model$Model - Объект модели, для которой создаётся запись.
- массив
$fieldsнеобязательный null Массив имён полей для вставки. Если null, используется $Model->data для генерации имён полей.
- массив
$valuesнеобязательный null Массив значений с ключами, соответствующими полям. Если null, используется $Model->data для генерации значений.
Возвращает
booleanУспех
Переопределяет
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 - Использовать алиасы моделей вместо имён таблиц при генерации условий
Возвращает
mixedЛибо null, false, $conditions, или массив стандартных условий для использования.
См. также
DboSource::update()DboSource::conditions()
delete()source public
delete( Model $Model , mixed $conditions null )
Генерирует и выполняет оператор SQL DELETE. Для баз данных, не поддерживающих псевдонимы в запросах UPDATE.
Параметры
-
Model$Model - Модель, из которой нужно удалить данные
- смешанное
$conditionsнеобязательный null - Условия для использования. Если пусто, используется первичный ключ модели.
Возвращает
booleanУспех
Переопределяет
DataSource::delete() dropSchema()source public
dropSchema( CakeSchema $schema , string $table null )
Генерирует оператор "drop table" для заданного объекта Schema.
Параметры
-
CakeSchema$schema - Экземпляр подкласса CakeSchema
- строка
$tableнеобязательный null Необязательный. Если указано, генерируется только таблица с указанным именем. В противном случае генерируются все таблицы, определённые в схеме.
Возвращает
строкаexecute()source public
execute( string $sql , array $options array() , array $params array() )
Выполняет запрос к базе данных с заданным оператором SQL и получает метаданные о результате (затронутые строки, время выполнения, ошибки, количество строк в наборе результатов). Запрос также регистрируется. Если Configure::read('debug') установлено, лог отображается всегда, иначе — только при ошибках.
Параметры
- log — Выполнять ли логирование запроса в кэш.
Параметры
- строка
$sql - Оператор SQL
- массив
$optionsнеобязательный array() - Параметры для выполнения запроса.
- массив
$paramsнеобязательный array() - Значения для привязки к запросу.
Возвращает
mixedРесурс или объект, представляющий набор результатов, или 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необязательный array() Либо параметры для привязки в качестве значений к оператору SQL, либо логическое значение для управления кэшированием запросов.
- массив
$optionsнеобязательный array() - Дополнительные параметры для запроса.
Возвращает
boolean|массивМассив строк результата или 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.
Возвращает
mixedЗначение поля, или false, если не найдено.
fields()source public
fields( Model $Model , string $alias null , mixed $fields array() , boolean $quote true )
Генерирует список полей для SQL запроса.
Параметры
-
Model$Model - Модель для получения полей.
- строка
$aliasнеобязательно null - Псевдоним таблицы
- смешанный
$fieldsнеобязательно массив() - Предоставленный список полей.
- логическое
$quoteнеобязательно true - Если 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 ложно и связь $type это 'hasOne' или 'belongsTo'.
getConstraint()source public
getConstraint( string $type , Model $Model , Model $LinkModel , string $association , array $assocData , string $association2 null )
Возвращает массив условий для связи между двумя моделями.
Параметры
- строка
$type - Тип связи.
-
Model$Model - Основной объект модели.
-
Model$LinkModel - Связанный объект модели.
- строка
$association - Имя связи.
- массив
$assocData - Данные связи.
- строка
$association2необязательно null - Имя связи HABTM.
Возвращает
массивМассив условий, определяющий связь между $Model и $LinkModel.
getLog()source public
getLog( boolean $sorted false , boolean $clear true )
Получить журнал запросов в виде массива.
Параметры
- логическое
$sortedнеобязательно false - Получить запросы, отсортированные по времени выполнения, по умолчанию false.
- логическое
$clearнеобязательно true - Если True, существующий журнал будет очищен.
Возвращает
массивМассив выполненных запросов
getQueryCache()source public
getQueryCache( string $sql , array $params array() )
Возвращает результат SQL запроса, если он уже кэширован
Параметры
- строка
$sql - SQL запрос
- массив
$paramsнеобязательно массив() - параметры запроса, привязанные как значения
Возвращает
смешанныйрезультаты запроса, если он кэширован, в противном случае false
getVersion()source public
getVersion( )
Получить строку версии сервера базы данных
Возвращает
строкаВерсия базы данных
group()source public
group( string|array $fields , Model $Model null )
Создать SQL предложение GROUP BY.
Параметры
- строка|массив
$fields - Поля GROUP BY
-
Model$Modelнеобязательно null - Модель для получения полей GROUP BY.
Возвращает
строкаПредложение GROUP BY или null.
hasAny()source public
hasAny( Model $Model , string $sql )
Проверяет, содержит ли указанная таблица запись, соответствующую указанному SQL.
Параметры
-
Model$Model - Модель для поиска
- строка
$sql - SQL условие WHERE (только условие, без "WHERE")
Возвращает
логическоеTrue, если таблица содержит соответствующую запись, иначе false
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 - запрос для извлечения ошибки, если она есть
Возвращает
stringСообщение об ошибке с номером ошибки
lastInsertId()source public
lastInsertId( mixed $source null )
Возвращает ID, сгенерированный из предыдущей операции INSERT.
Параметры
- mixed
$sourceнеобязательно null - Источник для получения идентификатора.
Возвращает
mixedПереопределяет
DataSource::lastInsertId() lastNumRows()source public
lastNumRows( mixed $source null )
Возвращает количество строк в предыдущем наборе результатов. Если предыдущего набора результатов нет, возвращает false.
Параметры
- mixed
$sourceнеобязательно null - Не используется
Возвращает
integerКоличество строк в наборе результатов
Переопределяет
DataSource::lastNumRows() length()source public
length( string $real )
Возвращает длину описания столбца в формате базы данных, или null, если длина неизвестна.
Параметры
- string
$real - Реальный тип столбца уровня базы данных (например, "varchar(255)")
Возвращает
mixedЦелое число или строка, представляющая длину столбца, или null для неизвестной длины.
logQuery()source public
logQuery( string $sql , array $params array() )
Записывает заданный SQL-запрос.
Параметры
- string
$sql - SQL-запрос
- array
$paramsнеобязательно array() - Значения, привязанные к запросу (подготовленные запросы)
name()source public
name( mixed $data )
Возвращает имя $data, заключенное в кавычки, для использования в SQL-запросе. Удаляет поля из SQL-функций перед заключением в кавычки.
Результаты этого метода хранятся в кэше памяти. Это улучшает производительность, но из-за использования алгоритма хэширования могут быть коллизии. Установка DboSource::$cacheMethods в false отключит кэш памяти.
Параметры
- mixed
$data Строка со столбцом для заключения в кавычки. Массив столбцов для заключения в кавычки или объект из DboSource::expression() или DboSource::identifier()
Возвращает
stringSQL-поле
order()source public
order( array|string $keys , string $direction 'ASC' , Model $Model null )
Возвращает оператор ORDER BY в виде строки.
Параметры
- array|string
$keys - Ссылка на поле, как ключ (например, Post.title)
- string
$directionнеобязательно 'ASC' - Направление (ASC или DESC)
-
Model$Modelнеобязательно null - Ссылка на модель (используется для поиска виртуального поля)
Возвращает
stringОператор ORDER BY
prepareFields()source public
prepareFields( Model $Model , array $queryData )
Подготавливает поля, необходимые для SQL-запроса.
Если поля не заданы, возвращаются все поля $Model.
Параметры
-
Model$Model - Модель для подготовки.
- array
$queryData - Массив информации о queryData, содержащий ключи, аналогичные Model::find().
Возвращает
arrayМассив, содержащий SQL-поля.
query()source public
query( )
Абстракция запроса DataSource
Возвращает
resourceИдентификатор ресурса результата.
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 - Связанный объект модели.
- string
$type - Тип ассоциации, один из типов ассоциаций модели, например, hasMany.
- string
$association - Имя ассоциации.
- array
$assocData - Данные ассоциации.
- array
$queryData - $queryData Массив информации о queryData, содержащий ключи, аналогичные Model::find().
- boolean
$external - Флаг, указывающий, является ли запрос ассоциации на внешнем источнике данных.
- array
$resultSet - $resultSet Существующие результаты.
- integer
$recursive - Количество уровней ассоциации.
- array
$stack - Список соединенных моделей.
Возвращает
mixedВыбрасывает
CakeExceptionкогда результаты не могут быть созданы.
rawQuery()source public
rawQuery( string $sql , array $params array() )
Выполняет заданный SQL-запрос.
Параметры
- string
$sql - SQL-запрос
- array
$paramsнеобязательно array() - Дополнительные параметры для запроса.
Возвращает
mixedРесурс или объект, представляющий набор результатов, или false при ошибке
read()source public
read( Model $Model , array $queryData array() , integer $recursive null )
Операция "Чтение" в CRUD
Читает записи из базы данных.
Параметры
-
Model$Model - Объект модели, для которого выполняется запрос.
- array
$queryDataнеобязательно array() - Массив информации о queryData, содержащий ключи, аналогичные Model::find().
- integer
$recursiveнеобязательно null - Количество уровней ассоциации
Возвращает
mixedboolean false при ошибке/неудаче. Массив результатов при успехе.
Переопределяет
DataSource::read() readTableParameters()source public
readTableParameters( string $name )
Чтение дополнительных параметров таблицы
Параметры
- string
$name - Имя таблицы для чтения.
Возвращает
arrayreconnect()source public
reconnect( array $config array() )
Подключение к серверу базы данных с опциональными новыми настройками
Параметры
- array
$configнеобязательно array() - Массив, определяющий новые настройки конфигурации
Возвращает
booleanTrue при успехе, false при ошибке
renderJoinStatement()source public
renderJoinStatement( array $data )
Генерирует итоговое SQL-утверждение JOIN
Параметры
- array
$data - Данные для генерации утверждения JOIN.
Возвращает
stringresetSequence()source public
resetSequence( string $table , string $column )
Сбросьте последовательность на основе значения MAX() для $column. Полезно для сброса последовательностей после использования insertMulti().
Этот метод должен быть реализован источниками данных, которым требуется использование последовательностей.
Параметры
- строка
$table - Имя таблицы для обновления.
- строка
$column - Столбец, используемый при сбросе значения последовательности.
Возвращает
booleanУспех.
resolveKey()source public
resolveKey( Model $Model , string $key , string $assoc null )
Возвращает ключ, отформатированный как строка Model.fieldname (например, Post.title или Country.name).
Параметры
-
Model$Model - Модель, для которой требуется получить ключ.
- строка
$key - Поле ключа.
- строка
$assocнеобязательно null - Имя ассоциации.
Возвращает
строкаПереопределяет
DataSource::resolveKey() rollback()source public
rollback( )
Отменить транзакцию
Возвращает
booleanTrue при успехе, false при ошибке (например, если база данных/модель не поддерживает транзакции или транзакция не началась).
Переопределяет
DataSource::rollback() showLog()source public
showLog( boolean $sorted false )
Выводит содержимое журнала запросов. Если выполняется в среде, отличной от CLI, элемент sql_log будет отображен и выведен. Если выполняется в среде CLI, генерируется текстовый журнал.
Параметры
- boolean
$sortedнеобязательно false - Получить запросы, отсортированные по времени выполнения, по умолчанию false.
value()source public
value( string $data , string $column null , boolean $null true )
Возвращает строку $data, заключенную в кавычки и экранированную для использования в SQL-запросе.
Параметры
- строка
$data - Строка, подлежащая подготовке для использования в SQL-запросе
- строка
$columnнеобязательно null - Тип данных столбца, в который будут вставлены эти данные.
- boolean
$nullнеобязательно true - Столбец допускает значения NULL
Возвращает
строкаЗаключенные в кавычки и экранированные данные
Методы, унаследованные от DataSource
_cacheDescription()source protected
_cacheDescription( string $object , mixed $data null )
Кэширование описания DataSource
Параметры
- строка
$object - Имя объекта (модели) для кэширования
- смешанное
$dataнеобязательно null - Описание модели, обычно строка или массив
Возвращает
смешанноеinsertQueryData()source public
insertQueryData( string $query , array $data , string $association , Model $Model , array $stack )
Заменяет заполнитель {$__cakeID__$} и {$__cakeForeignKey__$} в данных запроса.
Параметры
- строка
$query - Строка запроса, требующая замены.
- массив
$data - Массив данных со значениями, которые будут вставлены в заполнитель.
- строка
$association - Имя модели ассоциации, которая заменяется.
-
Model$Model - Экземпляр модели.
- массив
$stack - Стек контекста.
Возвращает
смешанноеСтрока данных запроса с замененными заполнителями или false при неудаче.
setConfig()source public
setConfig( array $config array() )
Устанавливает конфигурацию для DataSource. Объединяет информацию $config с _baseConfig и существующим свойством $config.
Параметры
- массив
$configнеобязательно array() - Массив конфигурации
Методы, унаследованные от Object
_mergeVars()source protected
_mergeVars( array $properties , string $class , boolean $normalize true )
Объединяет свойство $property этого объекта со свойством в определении $class. Значение этого класса для свойства будет объединено поверх $class'.
Это обеспечивает часть магии DRY, предоставляемой CakePHP. Если вы хотите отключить ее, переопределите этот метод как пустую функцию.
Параметры
- массив
$properties - Имя свойств для объединения.
- строка
$class - Класс для объединения свойства с.
- boolean
$normalizeнеобязательно true - Установите в true, чтобы выполнить свойства через Hash::normalize() перед объединением.
_set()source protected
_set( array $properties array() )
Позволяет установить несколько свойств объекта в одной строке кода. Будут установлены только свойства, которые являются частью объявления класса.
Параметры
- массив
$propertiesнеобязательно array() - Ассоциативный массив, содержащий свойства и соответствующие значения.
_stop()source protected
_stop( integer|string $status 0 )
Останавливает выполнение текущего сценария. Оборачивает exit(), что упрощает тестирование.
Параметры
- целое число|строка
$statusнеобязательно 0 - см. http://php.net/exit для значений
dispatchMethod()source public
dispatchMethod( string $method , array $params array() )
Вызывает метод этого объекта с заданными параметрами. Предоставляет объектно-ориентированную оболочку для call_user_func_array
Параметры
- строка
$method - Имя вызываемого метода
- массив
$paramsнеобязательно array() - Список параметров для использования при вызове $method
Возвращает
смешанноеВозвращает результат вызова метода
log()source public
log( string $msg , integer $type LOG_ERR , null|string|array $scope null )
Удобный метод для записи сообщения в CakeLog. Дополнительную информацию о записи в журналы см. в CakeLog::write().
Параметры
- строка
$msg - Сообщение журнала
- целое число
$typeнеобязательно LOG_ERR - Константа типа ошибки. Определена в app/Config/core.php.
- null|строка|массив
$scopeнеобязательно null Области (области) создания сообщения журнала. Дополнительную информацию о пространствах имен логирования см. в CakeLog::config().
Возвращает
booleanУспех записи в журнал
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 и именованных/переданных аргументов.
Возвращает
смешанноеЛогическое значение true или false при успехе/неудаче или содержимое отрисованного действия, если в $extra установлен 'return'.
toString()source public
toString( )
Преобразование объекта в строку. Каждый класс может переопределить этот метод по необходимости.
Возвращает
stringИмя этого класса
Подробности свойств
$_baseConfigsource
protected массив
Основные параметры конфигурации для драйвера SQLite3
array(
'persistent' => false,
'database' => null,
'flags' => array()
) $columnssource
public массив
Определение столбцов SQLite3
array(
'primary_key' => array('name' => 'integer primary key autoincrement'),
'string' => array('name' => 'varchar', 'limit' => '255'),
'text' => array('name' => 'text'),
'integer' => array('name' => 'integer', 'limit' => null, 'formatter' => 'intval'),
'biginteger' => array('name' => 'bigint', 'limit' => 20),
'float' => array('name' => 'float', 'formatter' => 'floatval'),
'decimal' => array('name' => 'decimal', 'formatter' => 'floatval'),
'datetime' => array('name' => 'datetime', 'format' => 'Y-m-d H:i:s', 'formatter' => 'date'),
'timestamp' => array('name' => 'timestamp', 'format' => 'Y-m-d H:i:s', 'formatter' => 'date'),
'time' => array('name' => 'time', 'format' => 'H:i:s', 'formatter' => 'date'),
'date' => array('name' => 'date', 'format' => 'Y-m-d', 'formatter' => 'date'),
'binary' => array('name' => 'blob'),
'boolean' => array('name' => 'boolean')
) $fieldParameterssource
public массив
Список дополнительных параметров, специфичных для движка, используемых при создании таблицы
array(
'collate' => array(
'value' => 'COLLATE',
'quote' => false,
'join' => ' ',
'column' => 'Collate',
'position' => 'afterDefault',
'options' => array(
'BINARY', 'NOCASE', 'RTRIM'
)
),
)
© 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-Sqlite.html