Spec-Zone.ru › CakePHP 2.9

Класс AclNode

Узел ACL

CakeObject
Extended by Model реализует CakeEventListener
Extended by AclNode

Непосредственные подклассы

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

Резюме свойств

  • $actsAs public
    array
    Модели ACL используют поведение Tree
  • $cacheQueries public
    boolean
    Явно отключает кэширование запросов в памяти для моделей ACL

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

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

Резюме методов

  • __construct() public
    Конструктор
  • node() public
    Получает узел Aro/Aco для этой модели

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

__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', объектом модели или строковым значением

Возвращает

массив
Найденный в базе данных узел

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

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

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

__call()source public

__call( string $method , array $params )

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

Параметры

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

Возвращает

смешанное
То, что возвращает вызываемый метод

__get()source public

__get( string $name )

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

Параметры

string $name
запрашиваемое значение переменной или ссылка

Возвращает

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

__isset()source public

__isset( string $name )

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

Параметры

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

Возвращает

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

_addToWhiteList()source protected

_addToWhiteList( string $key , array $options )

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

Параметры

string $key
имя поля для добавления в список
array $options
Список опций

Возвращает

массив
Опции

_clearCache()source protected

_clearCache( string $type null )

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

Параметры

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

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

Возвращает

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

_collectForeignKeys()source protected

_collectForeignKeys( string $type 'belongsTo' )

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

Параметры

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

Возвращает

массив

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

Параметры

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

_deleteLinks()source protected

_deleteLinks( string $id )

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

Параметры

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

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

Параметры

массив $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
Идентификатор записи в этой модели
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(). Значение возврата должно быть (изменёнными) результатами.

Параметры

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

Возвращает

mixed
Результат операции поиска

Ссылка

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

afterSave()source public

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

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

Параметры

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

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

Возвращает

array

beforeDelete()source public

beforeDelete( boolean $cascade true )

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

Параметры

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

Возвращает

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

Ссылка

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

beforeFind()source public

beforeFind( array $query )

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

Параметры

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

Возвращает

mixed

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


Ссылка

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

beforeSave()source public

beforeSave( array $options array() )

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

Параметры

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

Возвращает

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

Ссылка

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

См. также

Model::save()

beforeValidate()source public

beforeValidate( array $options array() )

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

Параметры

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

Возвращает

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

Ссылка

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

См. также

Model::save()

bindModel()source public

bindModel( array $params , boolean $reset true )

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

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

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

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

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

Параметры

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

Возвращает

boolean
Успех

Ссылка

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

buildQuery()source public

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

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

Параметры

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

Возвращает

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

Триггеры

Model.beforeFind $this, array($query)

См. также

Model::find()

clear()source public

clear( )

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

Возвращает

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

См. также

Model::create()

create()source public

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

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

Параметры

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

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

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

Возвращает

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
Полученные данные, которые должны быть назначены полю
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,
));

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

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

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

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

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

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

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

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

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

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

Параметры

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

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

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

Ссылка

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

getAffectedRows()source public

getAffectedRows( )

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

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

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

getAssociated()source public

getAssociated( string $type null )

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

Параметры

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

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

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

getColumnType()source public

getColumnType( string $column )

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

Параметры

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

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

string
Тип столбца

getColumnTypes()source public

getColumnTypes( )

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

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

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

getDataSource()source public

getDataSource( )

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

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

DataSource
Объект DataSource

getEventManager()source public

getEventManager( )

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

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

CakeEventManager

getID()source public

getID( integer $list 0 )

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

Параметры

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

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

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

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 — строка, возвращает булево значение, указывающее, существует ли поле. Если $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-й параметр: либо булево значение для управления кэшированием запросов, либо массив параметров для использования с заполнительными маркерами подготовленных запросов.
  • 3-й параметр: если предоставлен 2-й параметр, булево значение для включения/выключения кэширования запросов.

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

Параметры

string $sql
SQL-запрос

Возвращает

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

Ссылка

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
ID записи для чтения

Возвращает

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

Ссылка

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

resetAssociations()source public

resetAssociations( )

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

Возвращает

boolean
Успех

save()source public

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

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

Параметры

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

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

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

Возвращает

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

Исключения

Exception
PDOException

Триггеры

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

Ссылка

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

saveAll()source public

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

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

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

Опции

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

Параметры

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

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

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

Возвращает

mixed

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


Ссылка

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

saveAssociated()source public

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

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

Опции

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

Параметры

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

Возвращает

mixed

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


Исключения

PDOException

Ссылка

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

saveField()source public

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

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

Параметры

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 => keys(тип, 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. (Альтернативный вход: две строки, которые преобразуются в одномерный массив 2x2 используя $one в качестве ключа и $two в качестве его значения.)

Параметры

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

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

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

Ссылка

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

setDataSource()source public

setDataSource( string $dataSource null )

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

Параметры

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

Исключения

MissingConnectionException

setInsertID()source public

setInsertID( integer|string $id )

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

Параметры

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

setSource()source public

setSource( string $tableName )

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

Параметры

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

Исключения

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

unbindModel()source public

unbindModel( array $params , boolean $reset true )

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

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

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

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

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

Параметры

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

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

boolean
Успех

Ссылка

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

updateAll()source public

updateAll( array $fields , mixed $conditions true )

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

Параметры

array $fields

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

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

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

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

Ссылка

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

updateCounterCache()source public

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

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

Параметры

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

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

validateAssociated()source public

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

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

Параметры

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

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

array|boolean

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


validateMany()source public

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

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

Параметры

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

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

boolean|array

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


validates()source public

validates( array $options array() )

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

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

Параметры

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

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

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

validator()source public

validator( ModelValidator $instance null )

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

Параметры

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

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

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

ModelValidator

Наследованные методы из 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

Возвращает

смешанный
Возвращает результат вызова метода

log()source public

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

Удобный метод для записи сообщения в CakeLog. Смотрите CakeLog::write() для получения дополнительной информации о записи в журналы.

Параметры

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

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

Возвращает

boolean
Успех записи в журнал

requestAction()source public

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

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

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

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

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

Параметры

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

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

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

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

Возвращает

смешанный

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


toString()source public

toString( )

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

Возвращает

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

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

$actsAssource

public массив

Модели ACL используют поведение Tree

array('Tree' => array('type' => 'nested'))

$cacheQueriessource

public boolean

Явно отключает кэширование запросов в памяти для моделей ACL

false

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

Spec-Zone.ru

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