Spec-Zone.ru › CakePHP 2.8

Класс Aro

Объект запроса доступа

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

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

  • $hasAndBelongsToMany public
    array
    AROs связаны с ACOs с помощью разрешений
  • $name public
    string
    Имя модели

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

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

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

__construct()source public

__construct( )

Конструктор

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

Model::__construct()

node()source public

node( string|array|Model $ref null )

Возвращает узел Aro/Aco для этой модели

Параметры

строка|массив|Model $ref необязательно null
Массив с 'model' и 'foreign_key', объект модели или строковое значение

Возвращает

массив
Узел, найденный в базе данных

Выбрасывает

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

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

__call()source public

__call( string $method , array $params )

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

Параметры

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

Возвращает

смешанный
Результат вызываемого метода

__get()source public

__get( string $name )

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

Параметры

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

Возвращает

смешанный
Значение запрошенной переменной, если она установлена

__isset()source public

__isset( string $name )

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

Параметры

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

Возвращает

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

_addToWhiteList()source protected

_addToWhiteList( string $key , array $options )

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

Параметры

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

Возвращает

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

_clearCache()source protected

_clearCache( string $type null )

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

Параметры

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

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

Возвращает

смешанный
True при удалении, null в противном случае

_collectForeignKeys()source protected

_collectForeignKeys( string $type 'belongsTo' )

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

Параметры

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

Возвращает

массив

_constructLinkedModel()source 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()source protected

_createLinks( )

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

_deleteDependent()source protected

_deleteDependent( string $id , boolean $cascade )

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

Параметры

строка $id
ID записи, которая была удалена
булево $cascade
Установите в true, чтобы удалить записи, зависящие от этой записи

_deleteLinks()source protected

_deleteLinks( string $id )

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

Параметры

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

_doSave()source protected

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

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

Параметры

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

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

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

Возвращает

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

Выбрасывает

PDOException

Ссылка

http://book.cakephp.org/2.0/en/models/saving-your-data.html
END_OF_DOCUMENT_MARKER ```

_filterResults()source protected

_filterResults( array $results , boolean $primary true )

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

Параметры

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

Возвращает

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

Триггеры

Model.afterFind $this, массив($results, $primary)

_findAll()source protected

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

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

Параметры

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

Возвращает

массив

См. также

Model::find()

_findCount()source protected

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

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

Параметры

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

Возвращает

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

См. также

Model::find()

_findFirst()source protected

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

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

Параметры

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

Возвращает

массив

См. также

Model::find()

_findList()source protected

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

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

Параметры

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

Возвращает

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

См. также

Model::find()

_findNeighbors()source protected

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

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

Параметры

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

Возвращает

массив

_findThreaded()source protected

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

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

Параметры

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

Возвращает

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

_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
END_OF_DOCUMENT_MARKER

afterSave()source public

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

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

Параметры

boolean $created
Истинно, если это сохранение создало новую запись
массив $options необязательно массив()
Опции, переданные из 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 )

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

Параметры

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

Возвращает

boolean
Истина, если операция должна продолжаться, ложь, если она должна быть прервана

Ссылка

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

beforeFind()source public

beforeFind( array $query )

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

Параметры

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

Возвращает

смешанное

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


Ссылка

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

beforeSave()source public

beforeSave( array $options array() )

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

Параметры

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

Возвращает

boolean
Истина, если операция должна продолжаться, ложь, если она должна быть прервана

Ссылка

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

См. также

Model::save()

beforeValidate()source public

beforeValidate( array $options array() )

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

Параметры

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

Возвращает

boolean
Истина, если операция валидации должна продолжаться, ложь для прерывания

Ссылка

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

См. также

Model::save()

bindModel()source public

bindModel( array $params , boolean $reset true )

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

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

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

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

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

Параметры

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

Возвращает

boolean
Успех

Ссылка

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 необязательно 'первый'
Тип операции поиска (все / первый / счёт / соседи / список / ветвистый)
массив $query необязательно массив()
Поля параметров (условия / поля / соединения / ограничение / смещение / порядок / страница / группа / обратные вызовы)

Возвращает

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

Триггеры

Model.beforeFind $this, array($query)

См. также

Model::find()

clear()source public

clear( )

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

Возвращает

boolean
Всегда истина при успехе

См. также

Model::create()

create()source public

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

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

Параметры

boolean|массив $data необязательно массив()

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

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

Возвращает

массив
Текущие 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
Массив или объект, подлежащий разбору в поле

Возвращает

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

delete()source public

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

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

Параметры

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

Возвращает

boolean
Истинно при успехе

Триггеры

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

Ссылка

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

deleteAll()source public

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

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

Параметры

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

Возвращает

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

Ссылка

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

escapeField()source public

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

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

Параметры

string $field optional null
Поле для экранирования (например: id)
string $alias optional null
Псевдоним модели (например: Post)

Возвращает

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

exists()source public

exists( integer|string $id null )

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

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

Параметры

integer|string $id optional null
ID записи для проверки существования

Возвращает

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

field()source public

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

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

Параметры

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

Возвращает

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

Ссылка

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

find()source public

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

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

Используется для выполнения операций поиска, где первый аргумент — тип операции поиска (все / первый / количество / соседи / список / потоковое), второй параметр — параметры для поиска (индексированный массив, включая: '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/en/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 optional 'first'
Тип операции поиска (все / первый / количество / соседи / список / потоковое)
array $query optional array()
Поля опций (conditions / fields / joins / limit / offset / order / page / group / callbacks)

Возвращает

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

Ссылка

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

getAffectedRows()source public

getAffectedRows( )

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

Возвращает

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

getAssociated()source public

getAssociated( string $type null )

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

Параметры

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

Возвращает

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

getColumnType()source public

getColumnType( string $column )

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

Параметры

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

Возвращает

string
Тип столбца

getColumnTypes()source public

getColumnTypes( )

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

Возвращает

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

getDataSource()source public

getDataSource( )

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

Возвращает

DataSource
Объект DataSource

getEventManager()source public

getEventManager( )

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

Возвращает

CakeEventManager

getID()source public

getID( integer $list 0 )

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

Параметры

integer $list optional 0
Индекс, на котором находится составной ID

Возвращает

mixed
ID текущей записи, false, если ID отсутствует

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 )

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

Параметры

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

Возвращает

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

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


hasAny()source public

hasAny( array $conditions null )

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

Параметры

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

Возвращает

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

hasField()source public

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

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

Параметры

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

Возвращает

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

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


hasMethod()source public

hasMethod( string $method )

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

Параметры

строка $method
Метод, который должен быть вызван.

Возвращает

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

implementedEvents()source public

implementedEvents( )

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

Возвращает

массив

Реализация

CakeEventListener::implementedEvents()

invalidFields()source public

invalidFields( array|string $options array() )

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

Также заполняет свойство validationErrors модели тем же массивом.

Параметры

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

Возвращает

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

См. также

Model::validates()

invalidate()source public

invalidate( string $field , mixed $value true )

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

Параметры

строка $field
Имя поля, которое нужно сделать недопустимым
смешанный тип $value необязательно true

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

isForeignKey()source public

isForeignKey( string $field )

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

Параметры

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

Возвращает

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

isUnique()source public

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

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

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

Параметры

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

Возвращает

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

isVirtualField()source public

isVirtualField( string $field )

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

Параметры

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

Возвращает

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

joinModel()source public

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

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

Параметры

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

Возвращает

массив

onError()source public

onError( )

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

Ссылка

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

query()source public

query( string $sql )

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

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

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

Параметры

строка $sql
SQL-запрос

Возвращает

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

Ссылка

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

read()source public

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

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

Параметры

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

Возвращает

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

Ссылка

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

resetAssociations()source public

resetAssociations( )

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

Возвращает

булево
Успех

save()source public

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

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

Параметры

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

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

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

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

смешанное
При успехе Model::$data, если оно не пусто, или true, false при неудаче

Вызывает

Исключение
PDOException

Вызывает

Model.beforeSave $this, массив($options)
Model.afterSave $this, массив($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()

Параметры

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

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

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

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

смешанное

Если атомарно: 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()

Параметры

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

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

смешанное

Если атомарно: 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 )

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

Параметры

строка $name
Имя поля таблицы
смешанное $value
Значение поля
boolean|массив $validate необязательный false

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

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

boolean|массив
См. 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()

Параметры

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

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

смешанное

Если атомарно: 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

schema()source public

schema( boolean|string $field false )

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

Параметры

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

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

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

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

Параметры

  • atomic: Если true (по умолчанию), возвращает boolean. Если false, возвращает массив.
  • fieldList: Эквивалентно параметру $fieldList в Model::save()
  • deep: Если установлено в true, проверяются не только непосредственно связанные данные, но и данные, вложенные глубже.

Предупреждение: Этот метод потенциально может изменить переданный аргумент $data, Если вы этого не хотите, сделайте копию $data перед передачей его в этот метод

Параметры

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

Возвращает

array|boolean

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


validateMany()source public

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

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

Параметры

  • atomic: Если true (по умолчанию), возвращает boolean. Если false, возвращает массив.
  • fieldList: Эквивалентно параметру $fieldList в Model::save()
  • deep: Если установлено в true, все связанные данные также будут проверены.

Предупреждение: Этот метод потенциально может изменить переданный аргумент $data, Если вы этого не хотите, сделайте копию $data перед передачей его в этот метод

Параметры

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

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

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

строка
Название этого класса

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

$hasAndBelongsToManysource

public массив

AROs связаны с ACOs с помощью разрешений

array('Aco' => array('with' => 'Permission'))

$namesource

public строка

Имя модели

'Aro'

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

Spec-Zone.ru

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