Spec-Zone.ru › CakePHP 2.8

Класс I18nModel

Модель, используемая TranslateBehavior для доступа к таблицам перевода.

Объект
Extended by Модель реализует CakeEventListener
Extended by AppModel
Extended by I18nModel
Пакет: Cake\Модель
Авторское право: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: MIT License
Расположение: Cake/Model/I18nModel.php

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

  • $displayField public
    string
    Поле отображения
  • $name public
    string
    Имя модели
  • $useTable public
    string
    Имя таблицы

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

  • Behaviors, __backAssociation, __backContainableAssociation, __backInnerAssociation, __backOriginalAssociation, __safeUpdateMode, _associationKeys, _associations, _eventManager, _insertID, _schema, _sourceConfigured, _validator, actsAs, alias, belongsTo, cacheQueries, cacheSources, data, findMethods, findQueryType, hasAndBelongsToMany, hasMany, hasOne, id, order, plugin, primaryKey, recursive, schemaName, table, tablePrefix, tableToModel, useConsistentAfterFind, useDbConfig, validate, validationDomain, validationErrors, virtualFields, whitelist

Унаследованные методы из Модель

__call()исходный код public

__call( string $method , array $params )

Обрабатывает вызовы пользовательских методов, например, findBy для моделей базы данных и пользовательские вызовы RPC для удаленных источников данных.

Параметры

строка $method
Имя метода для вызова.
массив $params
Параметры для метода.

Возвращает

mixed
То, что возвращает вызываемый метод

__construct()исходный код public

__construct( boolean|integer|string|array $id false , string $table null , string $ds null )

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

Если $id является массивом, он может использоваться для передачи нескольких параметров в модель.

  • id: Идентификатор для начала работы с моделью.
  • table: Таблица для использования с этой моделью.
  • ds: Имя подключения, к которому подключена эта модель.
  • name: Имя модели (например, Запись).
  • alias: Псевдоним модели, используемый для регистрации экземпляра в ClassRegistry. (например, ParentThread)

Переопределение метода Model::__construct

При переопределении Model::__construct() обратите внимание на то, что необходимо включить и передать все 3 аргумента в parent::__construct($id, $table, $ds);

Динамическое создание моделей

Вы можете динамически создавать экземпляры моделей, используя синтаксис массива $id.

$Post = new Model(array('table' => 'posts', 'name' => 'Post', 'ds' => 'connection2'));

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

Параметры

boolean|integer|string|array $id необязательно false

Установите этот идентификатор для этой модели при запуске. Также может быть массивом параметров, см. выше.

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

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

Object::__construct()

__get()исходный код public

__get( string $name )

Возвращает значение запрошенной переменной, если она может быть установлена с помощью __isset()

Параметры

строка $name
Запрошенная переменная для получения её значения или ссылки

Возвращает

mixed
Значение запрошенной переменной, если она задана

__isset()исходный код public

__isset( string $name )

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

Параметры

строка $name
Переменная, проверяемая на существование в классе

Возвращает

boolean
true, если переменная существует (если это не загруженная ассоциация модели, она будет создана), иначе false

_addToWhiteList()исходный код protected

_addToWhiteList( string $key , array $options )

Вспомогательный метод для saveAll() и т.д., чтобы добавить внешний ключ к списку полей

Параметры

строка $key
Имя поля, которое нужно добавить в список
массив $options
Список параметров

Возвращает

массив
Параметры

_clearCache()исходный код protected

_clearCache( string $type null )

Очищает кеш для этой модели.

Параметры

строка $type необязательно null

Если null, это удаляет кэшированные представления, если Cache.check имеет значение true. Используется для удаления кэша запросов.

Возвращает

mixed
True при удалении, иначе null

_collectForeignKeys()исходный код protected

_collectForeignKeys( string $type 'belongsTo' )

Сбор внешних ключей из ассоциаций.

Параметры

строка $type необязательно 'belongsTo'
Тип ассоциации.

Возвращает

массив

_constructLinkedModel()исходный код protected

_constructLinkedModel( string $assoc , string $className null , string $plugin null )

Защищенный вспомогательный метод для создания связанных моделей заданного класса.

Параметры

строка $assoc
Имя ассоциации
строка $className необязательно null
Имя класса
строка $plugin необязательно null

Имя плагина, где находится $className. Примеры: public $hasMany = array('Assoc' => array('className' => 'ModelName')); использование: $this->Assoc->modelMethods();

public $hasMany = array('ModelName');
                usage: $this->ModelName->modelMethods();

_createLinks()исходный код protected

_createLinks( )

Создание набора ассоциаций.

_deleteDependent()исходный код protected

_deleteDependent( string $id , boolean $cascade )

Каскадно удаляет записи модели через связанные дочерние записи hasMany и hasOne.

Параметры

строка $id
Идентификатор записи, которая была удалена
boolean $cascade
Установите в true для удаления записей, зависящих от этой записи

_deleteLinks()исходный код protected

_deleteLinks( string $id )

Каскадно удаляет записи модели через ключи объединения HABTM.

Параметры

строка $id
Идентификатор записи, которая была удалена
END_OF_DOCUMENT_MARKER

_doSave()source protected

_doSave( array $data null , array $options array() )

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

Параметры

массив $data необязательно null
Данные для сохранения.
массив $options необязательно array()

Может содержать следующие ключи:

  • validate: Устанавливается в true/false для включения/выключения валидации.
  • fieldList: Массив полей, которые вы хотите разрешить для сохранения.
  • callbacks: Устанавливается в false для отключения обратных вызовов. Использование 'before' или 'after' включит только эти обратные вызовы.
  • counterCache: Логическое значение для управления обновлением кэш-значений счётчиков (если таковые имеются).

Возвращает

смешанный тип
При успехе Model::$data, если оно не пустое, или true; false при ошибке

Выбрасывает

PDOException

Ссылка

http://book.cakephp.org/2.0/ru/models/saving-your-data.html

_filterResults()source protected

_filterResults( array $results , boolean $primary true )

Пропускает результаты запроса через методы model и behavior afterFind().

Параметры

массив $results
Результаты для фильтрации
логическое значение $primary необязательно true
Если это результаты основной модели (результаты из модели, где была выполнена операция поиска)

Возвращает

массив
Набор отфильтрованных результатов

Вызывает

Model.afterFind $this, array($results, $primary)

_findAll()source protected

_findAll( string $state , array $query , array $results array() )

Обрабатывает логику фильтрации before/after для операций find('all'). Вызывается только методом Model::find().

Параметры

строка $state
Либо "before", либо "after"
массив $query
Запрос.
массив $results необязательно array()
Результаты.

Возвращает

массив

См. также

Model::find()

_findCount()source protected

_findCount( string $state , array $query , array $results array() )

Обрабатывает логику фильтрации before/after для операций find('count'). Вызывается только методом Model::find().

Параметры

строка $state
Либо "before", либо "after"
массив $query
Запрос.
массив $results необязательно array()
Результаты.

Возвращает

целое число
Количество найденных записей или false

См. также

Model::find()

_findFirst()source protected

_findFirst( string $state , array $query , array $results array() )

Обрабатывает логику фильтрации before/after для операций find('first'). Вызывается только методом Model::find().

Параметры

строка $state
Либо "before", либо "after"
массив $query
Запрос.
массив $results необязательно array()
Результаты.

Возвращает

массив

См. также

Model::find()

_findList()source protected

_findList( string $state , array $query , array $results array() )

Обрабатывает логику фильтрации before/after для операций find('list'). Вызывается только методом Model::find().

Параметры

строка $state
Либо "before", либо "after"
массив $query
Запрос.
массив $results необязательно array()
Результаты.

Возвращает

массив
Пары "ключ-значение" первичных ключей/значений поля отображения всех найденных записей

См. также

Model::find()

_findNeighbors()source protected

_findNeighbors( string $state , array $query , array $results array() )

Определяет значение предыдущего поля, затем использует логику для поиска записей с "оберткой" и возвращает их.

Параметры

строка $state
Либо "before", либо "after"
массив $query
Запрос.
массив $results необязательно array()
Результаты.

Возвращает

массив

_findThreaded()source protected

_findThreaded( string $state , array $query , array $results array() )

В случае возврата неоднозначных результатов (несколько результатов верхнего уровня с различными parent_id) результаты верхнего уровня с различными parent_id по отношению к первому результату будут отброшены.

Параметры

строка $state
Либо "before", либо "after".
массив $query
Запрос.
массив $results необязательно array()
Результаты.

Возвращает

массив
Потоковые результаты

_generateAssociation()source protected

_generateAssociation( string $type , string $assocKey )

Создаёт ассоциацию на основе массива из строки.

Параметры

строка $type
'belongsTo', 'hasOne', 'hasMany', 'hasAndBelongsToMany'
строка $assocKey
Ключ ассоциации.

_isUUIDField()source protected

_isUUIDField( string $field )

Проверяет, является ли переданное поле полем UUID.

Параметры

строка $field
поле для проверки

Возвращает

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

_normalizeXmlData()source protected

_normalizeXmlData( array $xml )

Нормализует Xml::toArray() для использования в Model::save()

Параметры

массив $xml
XML в виде массива

Возвращает

массив

_prepareUpdateFields()source protected

_prepareUpdateFields( array $data )

Вспомогательный метод для Model::updateCounterCache(). Проверяет поля для обновления.

Параметры

массив $data
Поля записи, которые будут обновлены

Возвращает

массив

Возвращает обновлённые значения внешних ключей, а также ключ 'old' с содержанием старых значений, или пустой массив, если внешние ключи не обновляются.


_readDataSource()source protected

_readDataSource( string $type , array $query )

Чтение из источника данных

Model::_readDataSource() используется всеми вызовами find() для чтения из источника данных и может быть перегружен для кэширования вызовов источника данных.

protected function _readDataSource($type, $query) {
    $cacheName = md5(json_encode($query) . json_encode($this->hasOne) . json_encode($this->belongsTo));
    $cache = Cache::read($cacheName, 'cache-config-name');
    if ($cache !== false) {
        return $cache;
    }

    $results = parent::_readDataSource($type, $query);
    Cache::write($cacheName, $results, 'cache-config-name');
    return $results;
}

Параметры

строка $type
Тип операции поиска (все / первый / счёт / соседи / список / потоковый)
массив $query
Поля опций (условия / поля / соединения / лимит / смещение / порядок / страница / группа / обратные вызовы)

Возвращает

массив

_saveMulti()source protected

_saveMulti( array $joined , integer|string $id , DataSource $db )

Сохраняет данные hasAndBelongsToMany модели в базе данных.

Параметры

массив $joined
Данные для сохранения
целое число/строка $id
ID записи в этой модели
DataSource $db
Экземпляр источника данных.

_setAliasData()source protected

_setAliasData( array $data )

Перемещение значений в псевдоним

Параметры

массив $data
Данные.

Возвращает

массив

afterDelete()source public

afterDelete( )

Вызывается после каждой операции удаления.

Ссылка

http://book.cakephp.org/2.0/ru/models/callback-methods.html#afterdelete

afterFind()source public

afterFind( mixed $results , boolean $primary false )

Вызывается после каждой операции поиска. Может быть использована для модификации любых результатов, возвращаемых find(). Значение возврата должно быть (изменёнными) результатами.

Параметры

смешанный $results
Результаты операции поиска
логическое $primary необязательно false
Указывает, запрашивается ли эта модель непосредственно (или как ассоциация)

Возвращает

смешанный
Результат операции поиска

Ссылка

http://book.cakephp.org/2.0/ru/models/callback-methods.html#afterfind

afterSave()source public

afterSave( boolean $created , array $options array() )

Вызывается после каждой успешной операции сохранения.

Параметры

логическое $created
True, если это сохранение создало новую запись
массив $options необязательно array()
Опции, переданные из Model::save().

Ссылка

http://book.cakephp.org/2.0/ru/models/callback-methods.html#aftersave

См. также

Model::save()

afterValidate()source public

afterValidate( )

Вызывается после проверки данных на наличие ошибок

associations()source public

associations( )

Получить ассоциации

Возвращает

массив

beforeDelete()source public

beforeDelete( boolean $cascade true )

Вызывается перед каждой операцией удаления.

Параметры

логическое $cascade необязательно true
Если true, записи, зависящие от этой записи, также будут удалены

Возвращает

логическое
True, если операция должна быть продолжена, false — если её следует прервать

Ссылка

http://book.cakephp.org/2.0/ru/models/callback-methods.html#beforedelete

beforeFind()source public

beforeFind( array $query )

Вызывается перед каждой операцией поиска. Возвращает false, если вы хотите остановить вызов find(), иначе возвращает (изменённые) данные запроса.

Параметры

массив $query
Данные, используемые для выполнения этого запроса, т.е. условия, сортировка и т.д.

Возвращает

смешанный

true, если операция должна быть продолжена, false — если её следует прервать; или изменённые $query для продолжения с новым $query


Ссылка

http://book.cakephp.org/2.0/ru/models/callback-methods.html#beforefind

beforeSave()source public

beforeSave( array $options array() )

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

Параметры

массив $options необязательно array()
Опции, переданные из Model::save().

Возвращает

логическое
True, если операция должна быть продолжена, false — если её следует прервать

Ссылка

http://book.cakephp.org/2.0/ru/models/callback-methods.html#beforesave

См. также

Model::save()

beforeValidate()source public

beforeValidate( array $options array() )

Вызывается во время операций валидации до валидации. Обратите внимание, что пользовательские правила валидации могут быть определены в $validate.

Параметры

массив $options необязательно array()
Опции, переданные из Model::save().

Возвращает

логическое
True, если операция валидации должна быть продолжена, false — для прерывания

Ссылка

http://book.cakephp.org/2.0/ru/models/callback-methods.html#beforevalidate

См. также

Model::save()

bindModel()source public

bindModel( array $params , boolean $reset true )

Связывать ассоциации моделей на лету.

Если $reset равно false, ассоциация не будет сброшена к исходным значениям, определённым в модели

Пример: Добавить новую связь hasOne в модель Profile, не определённую в исходном коде модели:

$this->User->bindModel(array('hasOne' => array('Profile')));

Связи, которые не сделаны постоянными, будут сброшены при следующем вызове Model::find() для этой модели.

Параметры

массив $params
Набор связей (индексированный по типу связи)
логическое $reset необязательно true
Установить в false, чтобы сделать связь постоянной

Возвращает

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

Ссылка

http://book.cakephp.org/2.0/ru/models/associations-linking-models-together.html#creating-and-destroying-associations-on-the-fly

buildQuery()source public

buildQuery( string $type 'first' , array $query array() )

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

Параметры

строка $type необязательно 'first'
Тип операции поиска (all / first / count / neighbors / list / threaded)
массив $query необязательно array()
Поля опций (условия / поля / соединения / limit / offset / order / page / group / callbacks)

Возвращает

массив|null
Массив запроса или null, если он не может быть построен по каким-либо причинам

Триггер

Model.beforeFind $this, array($query)

См. также

Model::find()

clear()source public

clear( )

Эта функция является удобной оболочкой для создания (false) и, как следует из названия, очищает id, данные и ошибки валидации.

Возвращает

логическое
Всегда true при успехе

См. также

Model::create()

create()source public

create( boolean|array $data array() , boolean $filterKey false )

Инициализирует модель для записи новой записи, загружая значения по умолчанию для полей, которые не определены в $data, и очищая предыдущие ошибки валидации. Особенно полезно для сохранения данных в циклах.

Параметры

логическое|массив $data необязательно array()

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

логическое $filterKey необязательно false
Если true, переписывает любые входные данные первичного ключа пустым значением

Возвращает

массив
Текущие Model::data; после объединения $data и/или значений по умолчанию из базы данных

Ссылка

http://book.cakephp.org/2.0/ru/models/saving-your-data.html#model-create-array-data-array

deconstruct()source public

deconstruct( string $field , array|object $data )

Разобрать сложный тип данных (массив или объект) в значение одного поля.

Параметры

строка $field
Имя поля, которое должно быть разобрано
массив|объект $data
Массив или объект, который должен быть разбит на поле

Возвращает

смешанный
Полученные данные, которые должны быть присвоены полю
END_OF_DOCUMENT_MARKER

delete()source public

delete( integer|string $id null , boolean $cascade true )

Удаляет запись для заданного идентификатора. Если идентификатор не указан, используется текущий идентификатор. Возвращает true при успехе.

Параметры

integer|string $id необязательный null
Идентификатор записи для удаления
boolean $cascade необязательный true
Установить в значение true, чтобы удалить записи, зависящие от этой записи

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

boolean
True при успехе

Триггеры

Model.beforeDelete $this, array($cascade)
Model.afterDelete $this

Ссылка

http://book.cakephp.org/2.0/ru/models/deleting-data.html

deleteAll()source public

deleteAll( mixed $conditions , boolean $cascade true , boolean $callbacks false )

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

Параметры

mixed $conditions
Условия для соответствия
boolean $cascade необязательный true
Установить в значение true, чтобы удалить записи, зависящие от этой записи
boolean $callbacks необязательный false
Выполнять коллбеки

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

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

Ссылка

http://book.cakephp.org/2.0/ru/models/deleting-data.html#deleteall

escapeField()source public

escapeField( string $field null , string $alias null )

Экранирует имя поля и добавляет имя модели. Экранирование выполняется в соответствии с правилами текущего драйвера базы данных.

Параметры

string $field необязательный null
Поле для экранирования (например: id)
string $alias необязательный null
Псевдоним модели (например: Post)

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

string
Имя экранированного поля для этой модели (например, id становится Post.id).

exists()source public

exists( integer|string $id null )

Возвращает true, если запись с указанным идентификатором существует.

Если $id не передан, вызывается Model::getID(), чтобы получить текущий идентификатор записи, а затем выполняется Model::find('count') на текущем источнике данных для определения существования записи в постоянном хранилище.

Параметры

integer|string $id необязательный null
Идентификатор записи для проверки существования

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

boolean
True, если такая запись существует

field()source public

field( string $name , array $conditions null , string $order null )

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

Параметры

string $name
Имя поля для получения.
array $conditions необязательный null
SQL условия (по умолчанию NULL).
string $order необязательный null
SQL фрагмент ORDER BY.

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

string|false
Содержимое поля или false, если не найдено.

Ссылка

http://book.cakephp.org/2.0/ru/models/retrieving-your-data.html#model-field

find()source public

find( string $type 'first' , array $query array() )

Запрашивает источник данных и возвращает массив результатов.

Используется для выполнения операций поиска, где первый аргумент — тип операции поиска (all/first/count/neighbors/list/threaded), второй параметр — опции для поиска (индексированный массив, включая: 'conditions', 'limit', 'recursive', 'page', 'fields', 'offset', 'order', 'callbacks').

Например:

$model->find('all', array(
  'conditions' => array('name' => 'Thomas Anderson'),
  'fields' => array('name', 'email'),
  'order' => 'field3 DESC',
  'recursive' => 1,
  'group' => 'type',
  'callbacks' => false,
));

В дополнение к стандартным ключам запроса выше, вы можете предоставить ключи, специфичные для источника данных и поведения. Например, при использовании SQL-источника данных вы можете использовать ключ joins для указания дополнительных соединений, которые должны быть частью запроса.

$model->find('all', array(
  'conditions' => array('name' => 'Thomas Anderson'),
  'joins' => array(
    array(
      'alias' => 'Thought',
      'table' => 'thoughts',
      'type' => 'LEFT',
      'conditions' => '`Thought`.`person_id` = `Person`.`id`'
    )
  )
));

Отключение коллбеков

Ключ callbacks позволяет вам отключить или указать коллбеки, которые должны быть выполнены. Для отключения коллбеков beforeFind и afterFind установите 'callbacks' => false в ваших опциях. Вы также можете установить опцию callbacks на 'before' или 'after' для включения только указанного коллбека.

Добавление новых типов поиска

Поведения и типы поиска также могут определять пользовательские ключи поиска, которые передаются в find(). См. документацию по пользовательским типам поиска (http://book.cakephp.org/2.0/ru/models/retrieving-your-data.html#creating-custom-find-types) для того, как реализовать пользовательские типы поиска.

Указание 'fields' для обозначения 'list':

  • Если поля не указаны, используется 'id' для ключа и 'model->displayField' для значения.
  • Если указано одно поле, используется 'id' для ключа и указанное поле для значения.
  • Если указаны три поля, они используются (в порядке) для ключа, значения и группировки.
  • В противном случае, первое и второе поля используются для ключа и значения.

Примечание: find(list) + представления базы данных имеют проблемы с MySQL 5.0. Попробуйте обновить до MySQL 5.1, если у вас есть проблемы с представлениями базы данных.

Примечание: find(count) имеет свои собственные значения возврата.

Параметры

string $type необязательный 'first'
Тип операции поиска (all/first/count/neighbors/list/threaded)
array $query необязательный array()
Поля опций (conditions/fields/joins/limit/offset/order/page/group/callbacks)

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

array|null
Массив записей или Null при ошибке.

Ссылка

http://book.cakephp.org/2.0/ru/models/retrieving-your-data.html

getAffectedRows()source public

getAffectedRows( )

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

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

integer
Количество строк

getAssociated()source public

getAssociated( string $type null )

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

Параметры

string $type необязательный null
Только ассоциации результата этого типа

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

array|null
Ассоциации

getColumnType()source public

getColumnType( string $column )

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

Параметры

string $column
Имя столбца модели

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

string
Тип столбца

getColumnTypes()source public

getColumnTypes( )

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

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

array
Типы полей, индексированные по имени поля

getDataSource()source public

getDataSource( )

Получает DataSource, к которому привязана эта модель.

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

DataSource
Объект DataSource

getEventManager()source public

getEventManager( )

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

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

CakeEventManager

getID()source public

getID( integer $list 0 )

Возвращает идентификатор текущей записи.

Параметры

integer $list необязательный 0
Индекс, на котором находится составной идентификатор

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

mixed
Идентификатор текущей записи, false, если идентификатор отсутствует
END_OF_DOCUMENT_MARKER

getInsertID()source public

getInsertID( )

Возвращает ID последней записи, вставленной этим модели.

Возвращает

mixed
ID последней вставленной записи

getLastInsertID()source public

getLastInsertID( )

Возвращает ID последней записи, вставленной этой моделью.

Возвращает

mixed
ID последней вставленной записи

getNumRows()source public

getNumRows( )

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

Возвращает

integer
Количество строк

getVirtualField()source public

getVirtualField( string $field null )

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

Параметры

string $field необязательно null
Имя поля для поиска

Возвращает

mixed

Если $field является строковым выражением, связанным с виртуальным полем $field. Если $field равен null, возвращает массив всех виртуальных полей модели или false, если такие поля отсутствуют.


hasAny()source public

hasAny( array $conditions null )

Возвращает true, если существует запись, удовлетворяющая заданным условиям.

Параметры

array $conditions необязательно null
Массив SQL-условий

Возвращает

boolean
True, если такая запись существует

hasField()source public

hasField( string|array $name , boolean $checkVirtual false )

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

Параметры

string|array $name
Имя поля для поиска или массив имён
boolean $checkVirtual необязательно false
проверяет, объявлено ли поле как виртуальное

Возвращает

mixed

Если $name является строкой, возвращает boolean, указывающий, существует ли поле. Если $name является массивом имён полей, возвращает первое существующее поле или false, если такие поля отсутствуют.


hasMethod()source public

hasMethod( string $method )

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

Параметры

string $method
Метод, который нужно вызвать.

Возвращает

boolean
True, если метод вызываем.

implementedEvents()source public

implementedEvents( )

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

Возвращает

array

Реализация

CakeEventListener::implementedEvents()

invalidFields()source public

invalidFields( array|string $options array() )

Возвращает массив полей, которые не прошли валидацию текущей модели.

Кроме того, он заполняет свойство validationErrors модели тем же массивом.

Параметры

array|string $options необязательно array()
Необязательный массив пользовательских параметров, которые будут доступны в обратном вызове beforeValidate

Возвращает

array
Массив недопустимых полей и их сообщений об ошибках

См. также

Model::validates()

invalidate()source public

invalidate( string $field , mixed $value true )

Помечает поле как недопустимое, при необходимости устанавливая имя правила валидации (в случае нескольких валидаций для поля), которое было нарушено.

Параметры

string $field
Имя поля для отметки как недопустимого
mixed $value необязательно true

Имя правила валидации, которое не было нарушено, или сообщение валидации, которое должно быть возвращено. Если ключ валидации не указан, по умолчанию используется true.

isForeignKey()source public

isForeignKey( string $field )

Возвращает true, если имя заданного поля является внешним ключом в этой модели.

Параметры

string $field
Возвращает true, если входная строка заканчивается на "_id"

Возвращает

boolean
True, если поле является внешним ключом, указанным в массиве belongsTo.

isUnique()source public

isUnique( array $fields , boolean|array $or true )

Возвращает false, если любые переданные поля совпадают с какими-либо (по умолчанию, со всеми, если $or = false) их соответствующими значениями.

Может использоваться как метод валидации. При использовании в качестве метода валидации параметр $or содержит массив полей, подлежащих валидации.

Параметры

array $fields
Пары поле/значение для поиска (если значения не указаны, они извлекаются из $this->data)
boolean|array $or необязательно true
Если false, все указанные поля должны совпадать, чтобы вернуть false

Возвращает

boolean
False, если найдены какие-либо записи, соответствующие любым полям

isVirtualField()source public

isVirtualField( string $field )

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

Параметры

string $field
Имя поля для поиска

Возвращает

boolean
Указывает, существует ли поле в качестве виртуального поля модели.

joinModel()source public

joinModel( string|array $assoc , array $keys array() )

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

Параметры

string|array $assoc
Модель, которая должна быть присоединена
array $keys необязательно array()
Любые ключи присоединения, которые должны быть объединены с запрошенными ключами

Возвращает

array

onError()source public

onError( )

Вызывается при возникновении ошибки на уровне источника данных.

Ссылка

http://book.cakephp.org/2.0/en/models/callback-methods.html#onerror

query()source public

query( string $sql )

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

Метод может принимать 2-й и 3-й параметры.

  • 2-й параметр: либо boolean для управления кэшированием запросов, либо массив параметров для использования с заготовками подготовленных запросов.
  • 3-й параметр: если 2-й аргумент предоставлен, флаг boolean для включения/выключения кэширования запросов.

Параметры

string $sql
SQL-запрос

Возвращает

mixed
Массив результатов или boolean, указывающий на успех/неудачу в зависимости от выполненного запроса

Ссылка

http://book.cakephp.org/2.0/en/models/retrieving-your-data.html#model-query
END_OF_DOCUMENT_MARKER

read()source public

read( string|array $fields null , integer|string $id null )

Возвращает список полей из базы данных и устанавливает текущие данные модели (Model::$data) с найденной записью.

Параметры

string|array $fields необязательно null
Строка имени одного поля или массив имён полей.
integer|string $id необязательно null
ID записи для чтения

Возвращает

array
Массив полей базы данных или false, если не найдено

Ссылка

http://book.cakephp.org/2.0/ru/models/retrieving-your-data.html#model-read

resetAssociations()source public

resetAssociations( )

Сбрасывает массивы ассоциаций модели до значений, изначально определённых в модели. Обычно вызывается в конце каждого вызова Model::find()

Возвращает

boolean
Успех

save()source public

save( array $data null , boolean|array $validate true , array $fieldList array() )

Сохраняет данные модели (основываясь на белом списке, если предоставлен) в базе данных. По умолчанию валидация происходит перед сохранением. Метод-прослойка для _doSave() с обработкой транзакций.

Параметры

array $data необязательно null
Данные для сохранения.
boolean|array $validate необязательно true

Либо булево значение, либо массив. Если булево, указывает, должна ли выполняться валидация перед сохранением. Если массив, может содержать следующие ключи:

  • atomic: Если true (по умолчанию), попытается сохранить запись в одной транзакции.
  • validate: Устанавливает true/false для включения/отключения валидации.
  • fieldList: Массив полей, которые разрешено сохранять.
  • callbacks: Устанавливает значение false для отключения обратных вызовов. Использование 'before' или 'after' включит только эти обратные вызовы.
  • counterCache: Булево значение для управления обновлением счётчиков (если таковые имеются)
array $fieldList необязательно array()
Список полей, которые разрешено сохранять

Возвращает

mixed
При успехе Model::$data, если оно не пусто, или true; false при ошибке

Вызывает

Exception
PDOException

Вызывает обратные вызовы

Model.beforeSave $this, array($options)
Model.afterSave $this, array($created, $options)

Ссылка

http://book.cakephp.org/2.0/ru/models/saving-your-data.html

saveAll()source public

saveAll( array $data array() , array $options array() )

Обратный метод совместимости для: saveMany(), validateMany(), saveAssociated() и validateAssociated()

Сохраняет несколько отдельных записей для одной модели; Также работает с одной записью, а также со всеми связанными записями.

Опции

  • validate: Установите значение false для отключения валидации, true для валидации каждой записи перед сохранением, 'first' для валидации всех записей перед сохранением любой (по умолчанию) или 'only' для валидации записей, но не сохранения.
  • atomic: Если true (по умолчанию), попытается сохранить все записи в одной транзакции. Должно быть установлено в false, если база данных/таблица не поддерживает транзакции.
  • fieldList: Эквивалентно параметру $fieldList в Model::save(). Должно быть массивом с именем модели в качестве ключа и массивом полей в качестве значения. Например: array( 'SomeModel' => array('field'), 'AssociatedModel' => array('field', 'otherfield') )
  • deep: См. saveMany/saveAssociated
  • callbacks: См. Model::save()
  • counterCache: См. Model::save()

Параметры

array $data необязательно array()

Данные записей для сохранения. Это может быть либо индексированный числовыми значениями массив (для сохранения нескольких записей одного типа), либо массив, индексированный именем ассоциации.

array $options необязательно array()
Опции для использования при сохранении данных записи, см. $options выше.

Возвращает

mixed

Если атомарно: True при успехе, или false при ошибке. Иначе: массив, похожий на массив $data, переданный, но значения установлены в true/false в зависимости от успешного сохранения каждой записи.


Ссылка

http://book.cakephp.org/2.0/ru/models/saving-your-data.html#model-saveassociated-array-data-null-array-options-array
http://book.cakephp.org/2.0/ru/models/saving-your-data.html#model-saveall-array-data-null-array-options-array

saveAssociated()source public

saveAssociated( array $data null , array $options array() )

Сохраняет одну запись, а также все непосредственно связанные с ней записи.

Опции

  • validate: Установите false для отключения валидации, true для валидации каждой записи перед сохранением, 'first' для валидации всех записей перед сохранением любой(по умолчанию),
  • atomic: Если true (по умолчанию), попытается сохранить все записи в одной транзакции. Должно быть установлено в false, если база данных/таблица не поддерживает транзакции.
  • fieldList: Эквивалентно параметру $fieldList в Model::save(). Должно быть массивом с именем модели в качестве ключа и массивом полей в качестве значения. Например: array( 'SomeModel' => array('field'), 'AssociatedModel' => array('field', 'otherfield') )
  • deep: Если установлено в true, сохраняются не только непосредственно связанные данные, но и вложенные связанные данные.
  • callbacks: См. Model::save()
  • counterCache: См. Model::save()

Параметры

array $data необязательно null
Данные записи для сохранения. Это должен быть массив, индексированный именем ассоциации.
array $options необязательно array()
Опции для использования при сохранении данных записи, см. $options выше.

Возвращает

mixed

Если атомарно: True при успехе, или false при ошибке. Иначе: массив, похожий на массив $data, переданный, но значения установлены в true/false в зависимости от успешного сохранения каждой записи.


Вызывает

PDOException

Ссылка

http://book.cakephp.org/2.0/ru/models/saving-your-data.html#model-saveassociated-array-data-null-array-options-array

saveField()source public

saveField( string $name , mixed $value , boolean|array $validate false )

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

Параметры

string $name
Имя поля таблицы
mixed $value
Значение поля
boolean|array $validate необязательно false

Либо булево значение, либо массив. Если булево, указывает, должна ли выполняться валидация перед сохранением. Если массив, позволяет управлять параметрами 'validate', 'callbacks' и 'counterCache'. См. Model::save() для подробностей о каждой опции.

Возвращает

boolean|array
См. Model::save() False при ошибке или массив данных модели при успехе.

См. также

Model::save()

Ссылка

http://book.cakephp.org/2.0/ru/models/saving-your-data.html#model-savefield-string-fieldname-string-fieldvalue-validate-false

saveMany()source public

saveMany( array $data null , array $options array() )

Сохраняет несколько отдельных записей для одной модели

Опции

  • validate: Установите значение false для отключения валидации, true для валидации каждой записи перед сохранением, 'first' для валидации всех записей перед сохранением любой,
  • atomic: Если true (по умолчанию), попытается сохранить все записи в одной транзакции. Должно быть установлено в false, если база данных/таблица не поддерживает транзакции.
  • fieldList: Эквивалентно параметру $fieldList в Model::save()
  • deep: Если установлено в true, все связанные данные также будут сохранены.
  • callbacks: См. Model::save()
  • counterCache: См. Model::save()

Параметры

array $data необязательно null
Данные записи для сохранения. Это должен быть индексированный числовыми значениями массив
array $options необязательно array()
Опции для использования при сохранении данных записи, см. $options выше.

Возвращает

mixed

Если атомарно: True при успехе, или false при ошибке. Иначе: массив, похожий на массив $data, переданный, но значения установлены в true/false в зависимости от успешного сохранения каждой записи.


Вызывает

PDOException

Ссылка

http://book.cakephp.org/2.0/ru/models/saving-your-data.html#model-savemany-array-data-null-array-options-array
END_OF_DOCUMENT_MARKER

schema()source public

schema( boolean|string $field false )

Возвращает массив метаданных таблицы (названия и типы столбцов) из базы данных. $field => ключи(тип, null, значение по умолчанию, ключ, длина, дополнительные)

Параметры

boolean|string $field необязательно false
Установите в значение true для перезагрузки схемы или строку для возвращения конкретного поля

Возвращает

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

set()source public

set( string|array|SimpleXmlElement|DomNode $one , string $two null )

Эта функция выполняет две операции:

  1. сканирует массив $one в поисках первичного ключа и, если он найден, устанавливает текущий идентификатор в значение $one[id]. Для всех ключей, кроме 'id', ключи и значения из $one копируются в свойство 'data' этого объекта.
  2. Возвращает массив со всеми ключами и значениями из $one. (Альтернативный вход: две строки, которые преобразуются в одномерный двумерный массив, используя $one в качестве ключа и $two в качестве его значения.)

Параметры

string|array|SimpleXmlElement|DomNode $one
Массив или строка данных
string $two необязательно null
Строка значения для альтернативного метода входных данных

Возвращает

array|null
Данные со всеми ключами и значениями из $one, в противном случае null.

Ссылка

http://book.cakephp.org/2.0/ru/models/saving-your-data.html

setDataSource()source public

setDataSource( string $dataSource null )

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

Параметры

string $dataSource необязательно null
Имя источника данных, как определено в app/Config/database.php

Исключения

MissingConnectionException

setInsertID()source public

setInsertID( integer|string $id )

Устанавливает идентификатор последней записи, вставленной этой моделью.

Параметры

integer|string $id
Идентификатор последней вставленной записи

setSource()source public

setSource( string $tableName )

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

Параметры

string $tableName
Имя пользовательской таблицы

Исключения

MissingTableException
при отсутствии таблицы базы данных $tableName в источнике данных

unbindModel()source public

unbindModel( array $params , boolean $reset true )

Выключает ассоциации на лету.

Если $reset равен false, ассоциация не будет сброшена к исходным значениям, определённым в модели.

Пример: Отключение связанной модели Заявка о поддержке, чтобы временно облегчить модель Пользователь:

$this->User->unbindModel(array('hasMany' => array('SupportRequest'))); Или альтернативно: $this->User->unbindModel(array('hasMany' => 'SupportRequest'));

Непривязанные модели, которые не сделаны постоянными, будут сброшены при следующем вызове Model::find()

Параметры

array $params
Набор привязок для отключения (индексированные по типу привязки)
boolean $reset необязательно true
Установите в значение false, чтобы сделать отключение постоянным

Возвращает

boolean
Успех

Ссылка

http://book.cakephp.org/2.0/ru/models/associations-linking-models-together.html#creating-and-destroying-associations-on-the-fly

updateAll()source public

updateAll( array $fields , mixed $conditions true )

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

Параметры

array $fields

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

mixed $conditions необязательно true
Условия для соответствия, true для всех записей

Возвращает

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

Ссылка

http://book.cakephp.org/2.0/ru/models/saving-your-data.html#model-updateall-array-fields-mixed-conditions

updateCounterCache()source public

updateCounterCache( array $keys array() , boolean $created false )

Обновляет кэш счётчиков ассоциаций belongsTo после операции сохранения или удаления.

Параметры

array $keys необязательно array()
Дополнительные данные внешнего ключа, по умолчанию берутся из $this->data
boolean $created необязательно false

True, если была создана новая запись, в противном случае обновляются только ассоциации с определённым 'counterScope'

validateAssociated()source public

validateAssociated( array $data , array $options array() )

Проверяет одну запись, а также все непосредственно связанные с ней записи.

Параметры

array $data
Данные записи для проверки. Это массив, индексированный по имени ассоциации.
array $options необязательно array()
Параметры для использования при проверке данных записи (см. выше). См. также $options в validates().

Возвращает

array|boolean

Если атомарно: True при успехе, false при ошибке. В противном случае: массив, похожий на переданный массив $data, но значения установлены в true/false в зависимости от успешной проверки каждой записи.


validateMany()source public

validateMany( array $data , array $options array() )

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

Параметры

array $data
$data Данные записей для проверки. Должен быть массивом с числовой индексацией
array $options необязательно array()
Параметры для использования при проверке данных записи (см. выше). См. также $options в validates().

Возвращает

boolean|array

Если атомарно: True при успехе, false при ошибке. В противном случае: массив, похожий на переданный массив $data, но значения установлены в true/false в зависимости от успешной проверки каждой записи.


validates()source public

validates( array $options array() )

Возвращает true, если все поля проходят проверку. Также проверяет ассоциации hasAndBelongsToMany, которые используют ключ 'with'. Поскольку _saveMulti не может выйти из операции сохранения.

Будет проверять текущие данные. Используйте Model::set() или Model::create() для установки активных данных.

Параметры

array $options необязательно array()
Необязательный массив пользовательских параметров, которые будут доступны в обратном вызове beforeValidate.

Возвращает

boolean
True, если нет ошибок

validator()source public

validator( ModelValidator $instance null )

Возвращает экземпляр валидатора модели для этого класса.

Параметры

ModelValidator $instance необязательно null

Экземпляр валидатора модели. Если null, будет создан новый экземпляр ModelValidator с использованием текущего объекта модели

Возвращает

ModelValidator

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

_mergeVars()source protected

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

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

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

Параметры

массив $properties
Имя свойств для объединения.
строка $class
Класс для объединения свойства с.
логическое значение $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

Возвращает

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

log()source public

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

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

Параметры

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

Области (сферы), в которых создается сообщение для записи в лог. Дополнительную информацию о разделах ведения журнала см. в CakeLog::config().

Возвращает

boolean
Успешность записи в лог

requestAction()source public

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

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

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

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

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

Параметры

строка|массив $url

Строка или массив URL. В отличие от других массивов URL в CakePHP, этот URL не будет автоматически обрабатывать переданные и именованные аргументы в параметре $url.

массив $extra необязательно array()

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

Возвращает

mixed

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


toString()source public

toString( )

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

Возвращает

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

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

$displayFieldsource

public строка

Поле отображения

'field'

$namesource

public строка

Имя модели

'I18nModel'

$useTablesource

public строка

Имя таблицы

'i18n'

© 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-I18nModel.html

Spec-Zone.ru

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