Spec-Zone.ru › CakePHP 2.8

Класс Permission

Разрешения, связывающие ARO с ACO

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

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

  • $actsAs public
    array
    Нет поведений для этой модели
  • $belongsTo public
    array
    Разрешения связывают ARO с ACO
  • $cacheQueries public
    boolean
    Явно отключает кэширование запросов в памяти
  • $useTable public
    string
    Переопределяет имя таблицы по умолчанию

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

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

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

  • __construct() public

    Конструктор, используемый для указания этой модели на использование базы данных, настроенной для ACL

  • allow() public
    Разрешить $aro доступ к действию $actions в $aco
  • check() public
    Проверяет, имеет ли заданный $aro доступ к действию $action в $aco
  • getAclLink() public
    Получить массив связей контроля доступа между заданным Aro и Aco
  • getAcoKeys() public
    Получить ключи типов crud

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

__construct()source public

__construct( )

Конструктор, используемый для указания этой модели на использование базы данных, настроенной для ACL

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

Model::__construct()

allow()source public

allow( string $aro , string $aco , string $actions '*' , integer $value 1 )

Разрешить $aro доступ к действию $actions в $aco

Параметры

string $aro
ARO Идентификатор запрашиваемого объекта.
string $aco
ACO Идентификатор контролируемого объекта.
string $actions необязательно '*'
Действие (по умолчанию *) Неверные разрешения приведут к исключению.
integer $value необязательно 1
Значение для указания типа доступа (1 для предоставления доступа, -1 для отказа, 0 для наследования)

Возвращает

boolean
Успех

Исключение

AclException
при неверном ключе разрешения.

check()source public

check( string $aro , string $aco , string $action '*' )

Проверяет, имеет ли заданный $aro доступ к действию $action в $aco

Параметры

string $aro
ARO Идентификатор запрашиваемого объекта.
string $aco
ACO Идентификатор контролируемого объекта.
string $action необязательно '*'
Действие (по умолчанию *)

Возвращает

boolean
Успех (true, если ARO имеет доступ к действию в ACO, false в противном случае)

getAclLink()source public

getAclLink( string $aro , string $aco )

Получить массив связей контроля доступа между заданным Aro и Aco

Параметры

string $aro
ARO Идентификатор запрашиваемого объекта.
string $aco
ACO Идентификатор контролируемого объекта.

Возвращает

array
Индексированный массив с: 'aro', 'aco' и 'link'

getAcoKeys()source public

getAcoKeys( array $keys )

Получить ключи типов crud

Параметры

array $keys
Схема разрешений

Возвращает

array
ключи разрешений

Наследованные методы из Model

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

_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
Идентификатор удалённой записи
логическое значение $cascade
Установить в true, чтобы удалить записи, зависящие от этой записи

_deleteLinks()source protected

_deleteLinks( string $id )

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

Параметры

строка $id
Идентификатор удалённой записи

_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/en/models/saving-your-data.html

_filterResults()source protected

_filterResults( array $results , boolean $primary true )

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

Параметры

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

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

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

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

Ссылка

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

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

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

Ссылка

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

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

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

Ссылка

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 необязательно истина
Установите в ложь, чтобы сделать связывание постоянным

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

логическое значение
Успех

Ссылка

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

См. также

Model::find()

clear()source public

clear( )

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

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

логическое значение
Всегда истинно при успехе

См. также

Model::create()
END_OF_DOCUMENT_MARKER

create()source public

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

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

Параметры

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

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

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

Возвращает

array
Текущие данные модели 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 )

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

Параметры

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

Возвращает

mixed
Результирующие данные, которые должны быть назначены полю

delete()source public

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

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

Параметры

integer|string $id необязательно null
ID записи для удаления
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 существует.

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

Параметры

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

Возвращает

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

field()source public

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

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

Параметры

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

Возвращает

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

Ссылка

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

find()source public

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

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

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

Например:

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

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

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

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

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

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

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

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

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

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

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

Параметры

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

Возвращает

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

Ссылка

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

getAffectedRows()source public

getAffectedRows( )

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

Возвращает

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

getAssociated()source public

getAssociated( string $type null )

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

Параметры

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

Возвращает

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

getColumnType()source public

getColumnType( string $column )

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

Параметры

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

Возвращает

string
Тип столбца

getColumnTypes()source public

getColumnTypes( )

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

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

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

getDataSource()source public

getDataSource( )

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

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

DataSource
Объект DataSource

getEventManager()source public

getEventManager( )

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

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

CakeEventManager

getID()source public

getID( integer $list 0 )

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

Параметры

целое число $list необязательно 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
Имя поля для поиска

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

mixed

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


hasAny()source public

hasAny( array $conditions null )

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

Параметры

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

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

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

hasField()source public

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

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

Параметры

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

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

mixed

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


hasMethod()source public

hasMethod( string $method )

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

Параметры

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

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

boolean
True, если метод доступен.

implementedEvents()source public

implementedEvents( )

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

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

array

Реализация

CakeEventListener::implementedEvents()

invalidFields()source public

invalidFields( array|string $options array() )

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

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

Параметры

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

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

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

См. также

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"

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

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

isUnique()source public

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

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

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

Параметры

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

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

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

isVirtualField()source public

isVirtualField( string $field )

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

Параметры

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

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

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

joinModel()source public

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

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

Параметры

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

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

array
END_OF_DOCUMENT_MARKER

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-запрос

Возвращает

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

Ссылка

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
Идентификатор записи для чтения

Возвращает

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

Ссылка

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
Данные для сохранения.
логическое значение|массив $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
Значение поля
логическое значение|массив $validate необязательно false

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

Возвращает

логическое значение|массив
См. 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 выше.

Возвращает

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

schema()source public

schema( boolean|string $field false )

Возвращает массив метаданных таблицы (имена и типы столбцов) из базы данных. $field => keys(type, null, default, key, length, extra)

Параметры

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

Возвращает

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

set()source public

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

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

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

Параметры

строка|массив|SimpleXmlElement|DomNode $one
Массив или строка данных
строка $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 )

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

Параметры

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

Исключения

MissingConnectionException

setInsertID()source public

setInsertID( integer|string $id )

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

Параметры

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

setSource()source public

setSource( string $tableName )

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

Параметры

строка $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()

Параметры

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

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

Параметры

массив $fields

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

смешанный $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 после операции сохранения или удаления.

Параметры

массив $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 перед тем, как передать его этому методу.

Параметры

массив $data
Данные записи для валидации. Это должен быть массив, индексированный по имени ассоциации.
массив $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 перед передачей его в этот метод

Параметры

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

Параметры

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

Возвращает

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

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


toString()source public

toString( )

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

Возвращает

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

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

$actsAssource

public массив

Нет поведений для этой модели

null

$belongsTosource

public массив

Разрешения связывают ARO с ACO

array('Aro', 'Aco')

$cacheQueriessource

public булево

Явно отключить кеширование запросов в памяти

false

$useTablesource

public строка

Переопределить имя таблицы по умолчанию

'aros_acos'

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

Spec-Zone.ru

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