Spec-Zone.ru › CakePHP 2.10

Класс Aro

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

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

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

  • $hasAndBelongsToMany public
    array
    Aro связаны с ACO через разрешения
  • $name public
    string
    Имя модели

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

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

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

__construct()source public

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

Конструктор

Параметры

boolean|integer|string|array $id опционально false

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

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

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

Model::__construct()

node()source public

node( string|array|Model $ref null )

Получает узел Aro/Aco для этой модели

Параметры

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

Возвращает

array
Найденный узел в базе данных

Выбрасывает

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

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

_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 необязательный массив()

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

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

Возвращает

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

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

PDOException

Ссылка

https://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 необязательный массив()
Результаты.

Возвращает

массив

См. также

Model::find()

_findCount()source protected

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

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

Параметры

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

Возвращает

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

См. также

Model::find()

_findFirst()source protected

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

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

Параметры

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

Возвращает

массив

См. также

Model::find()

_findList()source protected

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

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

Параметры

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

Возвращает

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

См. также

Model::find()

_findNeighbors()source protected

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

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

Параметры

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

Возвращает

массив

_findThreaded()source protected

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

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

Параметры

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

Возвращает

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

_generateAssociation()source protected

_generateAssociation( string $type , string $assocKey )

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

Параметры

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

_isUUIDField()source protected

_isUUIDField( string $field )

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

Параметры

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

Возвращает

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

_normalizeXmlData()source protected

_normalizeXmlData( array $xml )

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

Параметры

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

Возвращает

массив

_prepareUpdateFields()source protected

_prepareUpdateFields( array $data )

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

Параметры

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

Возвращает

массив

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


_readDataSource()source protected

_readDataSource( string $type , array $query )

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

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

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

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

Параметры

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

Возвращает

массив

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

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

Ссылка

https://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
Результат операции поиска

Ссылка

https://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().

Ссылка

https://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
Если true, записи, зависящие от этой записи, также будут удалены

Возвращает

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

Ссылка

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

beforeFind()source public

beforeFind( array $query )

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

Параметры

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

Возвращает

mixed

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


Ссылка

https://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
True, если операция должна продолжиться, false, если она должна быть прервана

Ссылка

https://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
True, если операция валидации должна продолжиться, false для прерывания

Ссылка

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

См. также

Model::save()

bindModel()source public

bindModel( array $params , boolean $reset true )

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

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

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

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

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

Параметры

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

Возвращает

boolean
Успех

Ссылка

https://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'
Тип операции поиска (all / first / count / neighbors / list / threaded)
array $query необязательно array()
Поля параметров (условия / поля / соединения / limit / offset / order / page / group / callbacks)

Возвращает

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

Вызывает

Model.beforeFind $this, array($query)

См. также

Model::find()

clear()source public

clear( )

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

Возвращает

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

См. также

Model::create()

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 и/или значений по умолчанию из базы данных

Ссылка

https://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 )

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

Параметры

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

Возвращает

boolean
True при успехе

Триггеры

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

Ссылка

https://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 optional true
Установите в значение true, чтобы удалить записи, зависящие от этой записи
boolean $callbacks optional false
Выполнять колбэки

Возвращает

boolean
True при успехе, false при неудаче

Ссылка

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

escapeField()source public

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

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

Параметры

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

Возвращает

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

exists()source public

exists( integer|string $id null )

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

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

Параметры

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

Возвращает

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

field()source public

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

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

Параметры

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

Возвращает

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

Ссылка

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

find()source public

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

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

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

Например:

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

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

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

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

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

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

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

Возвращает

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

Ссылка

https://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 optional 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 записи.

Параметры

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

Возвращает

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

getInsertID()source public

getInsertID( )

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

Возвращает

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

getLastInsertID()source public

getLastInsertID( )

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

Возвращает

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

getNumRows()source public

getNumRows( )

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

Возвращает

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

getVirtualField()source public

getVirtualField( string $field null )

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

Параметры

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

Возвращает

mixed

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


hasAny()source public

hasAny( array $conditions null )

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

Параметры

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

Возвращает

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

hasField()source public

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

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

Параметры

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

Возвращает

mixed

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


hasMethod()source public

hasMethod( string $method )

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

Параметры

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

Возвращает

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

implementedEvents()source public

implementedEvents( )

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

Возвращает

array

Реализация

CakeEventListener::implementedEvents()

invalidFields()source public

invalidFields( array|string $options array() )

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

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

Параметры

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

Возвращает

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

См. также

Model::validates()

invalidate()source public

invalidate( string $field , mixed $value true )

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

Параметры

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

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

isForeignKey()source public

isForeignKey( string $field )

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

Параметры

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

Возвращает

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

isUnique()source public

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

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

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

Параметры

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

Возвращает

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

isVirtualField()source public

isVirtualField( string $field )

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

Параметры

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

Возвращает

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

joinModel()source public

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

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

Параметры

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

Возвращает

array

onError()source public

onError( )

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

Ссылка

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

query()source public

query( string $sql )

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

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

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

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

Параметры

string $sql
SQL-запрос

Возвращает

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

Ссылка

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

read()source public

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

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

Параметры

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

Возвращает

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

Ссылка

https://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

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

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

Возвращает

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

Исключения

Exception
PDOException

Срабатывающие события

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

Ссылка

https://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

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


Ссылка

https://book.cakephp.org/2.0/ru/models/saving-your-data.html#model-saveassociated-array-data-null-array-options-array
https://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

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


Исключения

PDOException

Ссылка

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

saveField()source public

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

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

Параметры

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

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

Возвращает

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

См. также

Model::save()

Ссылка

https://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

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


Исключения

PDOException

Ссылка

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

schema()source public

schema( boolean|string $field false )

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

Параметры

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

Возвращает

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

set()source public

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

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

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

Параметры

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

Возвращает

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

Ссылка

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

setDataSource()source public

setDataSource( string $dataSource null )

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

Параметры

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

Выбрасывает

MissingConnectionException

setInsertID()source public

setInsertID( integer|string $id )

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

Параметры

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

setSource()source public

setSource( string $tableName )

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

Параметры

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

Выбрасывает

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

unbindModel()source public

unbindModel( array $params , boolean $reset true )

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

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

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

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

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

Параметры

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

Возвращает

boolean
Успех

Ссылка

https://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 при неудаче

Ссылка

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

updateCounterCache()source public

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

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

Параметры

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

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

validateAssociated()source public

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

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

Опции

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

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

Параметры

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

Возвращает

array|boolean

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


validateMany()source public

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

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

Опции

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

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

Параметры

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

Возвращает

boolean|array

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


validates()source public

validates( array $options array() )

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

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

Параметры

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

Возвращает

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

validator()source public

validator( ModelValidator $instance null )

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

Параметры

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

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

Возвращает

ModelValidator

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

_mergeVars()source protected

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

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

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

Параметры

массив $properties
Имя свойств для объединения.
строка $class
Класс для объединения свойства с.
логическое значение $normalize необязательно true
Установите в значение true, чтобы выполнить свойства через Hash::normalize() перед объединением.

_set()source protected

_set( array $properties array() )

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

Параметры

массив $properties необязательно array()
Ассоциативный массив, содержащий свойства и соответствующие значения.

_stop()source protected

_stop( integer|string $status 0 )

Останавливает выполнение текущего скрипта. Обёртка вокруг exit(), упрощающая тестирование.

Параметры

целое число/строка $status необязательно 0
см. http://php.net/exit для значений

dispatchMethod()source public

dispatchMethod( string $method , array $params array() )

Вызывает метод этого объекта с заданными параметрами. Предоставляет объектно-ориентированную обёртку для call_user_func_array

Параметры

строка $method
Имя вызываемого метода
массив $params необязательно array()
Список параметров для использования при вызове $method

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

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

log()source public

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

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

Параметры

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

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

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

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

requestAction()source public

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

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

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

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

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

Параметры

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

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

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

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

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

mixed

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


toString()source public

toString( )

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

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

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

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

$hasAndBelongsToManysource

public массив

AROs связаны с ACOs через разрешения

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

$namesource

public строка

Имя модели

'Aro'

© 2005–2017 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.10/class-Aro.html

Spec-Zone.ru

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