Spec-Zone.ru › CakePHP 2.9

Класс Aro

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

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

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

  • $hasAndBelongsToMany public
    array
    Aro связаны с ACO с помощью разрешений
  • $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( boolean|integer|string|array $id false , string $table null , string $ds null )

Конструктор

Параметры

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

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

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

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

Model::__construct()

node()source public

node( string|array|Model $ref null )

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

Параметры

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

Возвращает

array
Узел, найденный в базе данных

Вызывает исключение

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

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

__call()source public

__call( string $method , array $params )

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

Параметры

string $method
Имя вызываемого метода.
array $params
Параметры метода.

Возвращает

mixed
Результат вызываемого метода

__get()source public

__get( string $name )

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

Параметры

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

Возвращает

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

__isset()source public

__isset( string $name )

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

Параметры

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

Возвращает

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

_addToWhiteList()source protected

_addToWhiteList( string $key , array $options )

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

Параметры

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

Возвращает

array
опции

_clearCache()source protected

_clearCache( string $type null )

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

Параметры

string $type необязательно null

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

Возвращает

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

_collectForeignKeys()source protected

_collectForeignKeys( string $type 'belongsTo' )

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

Параметры

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

Возвращает

array

_constructLinkedModel()source protected

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

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

Параметры

string $assoc
Имя ассоциации
string $className необязательно null
Имя класса
string $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 child.

Параметры

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

_deleteLinks()source protected

_deleteLinks( string $id )

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

Параметры

string $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 )

Пропускает результаты запроса через методы модели и поведения после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 необязательно array()
Результаты.

Возвращает

массив

См. также

Model::find()

_findCount()source protected

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

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

Параметры

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

Возвращает

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

См. также

Model::find()

_findFirst()source protected

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

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

Параметры

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

Возвращает

массив

См. также

Model::find()

_findList()source protected

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

Обрабатывает логику фильтрации до/после для операций 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
END_OF_DOCUMENT_MARKER

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

Возвращает

логический
Истина, если операция должна продолжить выполнение, ложь, если её следует прервать

Ссылка

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

beforeFind()source public

beforeFind( array $query )

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

Параметры

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

Возвращает

смешанный

истина, если операция должна продолжить выполнение, ложь, если её следует прервать; или изменённые $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().

Возвращает

логический
Истина, если операция должна продолжить выполнение, ложь, если её следует прервать

Ссылка

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

Возвращает

логический
Истина, если операция валидации должна продолжить выполнение, ложь - для прерывания

Ссылка

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
Набор связываний (индексированные по типу связывания)
логический $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()
Поля параметров (conditions / fields / joins / 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

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/ru/models/callback-methods.html#onerror

query()source public

query( string $sql )

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

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

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

Если параметр кэширования запроса не указан как 2-й или 3-й аргумент, используется значение по умолчанию модели $cacheQueries.

Параметры

string $sql
SQL-запрос

Возвращает

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

Ссылка

http://book.cakephp.org/2.0/ru/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
Идентификатор записи для чтения.

Возвращает

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 в поисках первичного ключа и, если он найден, устанавливает текущий id в значение $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 ложно, ассоциация не будет сброшена к исходным значениям, определенным в модели.

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

$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

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

_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

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


toString()source public

toString( )

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

Возвращает

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

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

$hasAndBelongsToManysource

public массив

AROs связаны с ACOs с помощью Permission

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.
https://api.cakephp.org/2.9/class-Aro.html

Spec-Zone.ru

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