Spec-Zone.ru › CakePHP 2.8

Класс AcoAction

Действие для объекта управления доступом

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

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

  • $belongsTo public
    array
    Действия ACO относятся к ACO
  • $name public
    string
    Имя модели

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

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

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

__call()source public

__call( string $method , array $params )

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

Параметры

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

Возвращает

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

__construct()source public

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

Конструктор. Связывает таблицу базы данных модели с объектом.

Если $id является массивом, он может использоваться для передачи нескольких параметров в модель.

  • id: Идентификатор для начала работы модели.
  • table: Таблица, используемая для этой модели.
  • ds: Имя подключения, к которому подключена эта модель.
  • name: Название модели, например, Post.
  • alias: Псевдоним модели, используемый для регистрации экземпляра в ClassRegistry. Например, ParentThread

Переопределение метода Model::__construct.

При переопределении Model::__construct() будьте внимательны, чтобы включить и передать все 3 аргумента в parent::__construct($id, $table, $ds);

Динамическое создание моделей

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

$Post = new Model(array('table' => 'posts', 'name' => 'Post', 'ds' => 'connection2'));

Создаст модель, связанную с таблицей posts в подключении connection2. Динамическое создание моделей полезно, когда вам нужен объект модели, который не содержит ассоциаций или прикрепленных поведений.

Параметры

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

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

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

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

Object::__construct()

__get()source public

__get( string $name )

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

Параметры

строка $name
Переменная, запрашиваемая для её значения или ссылки

Возвращает

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

__isset()source public

__isset( string $name )

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

Параметры

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

Возвращает

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

_addToWhiteList()source protected

_addToWhiteList( string $key , array $options )

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

Параметры

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

Возвращает

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

_clearCache()source protected

_clearCache( string $type null )

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

Параметры

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

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

Возвращает

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

_collectForeignKeys()source protected

_collectForeignKeys( string $type 'belongsTo' )

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

Параметры

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

Возвращает

массив

_constructLinkedModel()source protected

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

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

Параметры

строка $assoc
Имя ассоциации
строка $className необязательно null
Имя класса
строка $plugin необязательно null

имя плагина, где находится $className примеры: public $hasMany = array('Assoc' => array('className' => 'ModelName')); использование: $this->Assoc->modelMethods();

public $hasMany = array('ModelName');
                usage: $this->ModelName->modelMethods();

_createLinks()source protected

_createLinks( )

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

_deleteDependent()source protected

_deleteDependent( string $id , boolean $cascade )

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

Параметры

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

_deleteLinks()source protected

_deleteLinks( string $id )

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

Параметры

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

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

Параметры

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

Возвращает

массив

См. также

Model::find()

_findCount()source protected

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

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

Параметры

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

Возвращает

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

См. также

Model::find()

_findFirst()source protected

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

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

Параметры

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

Возвращает

массив

См. также

Model::find()

_findList()source protected

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

Обрабатывает логику фильтрации before/after для операций 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
Тип операции поиска (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
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
Если true, записи, зависящие от этой записи, также будут удалены

Возвращает

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

Ссылка

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

beforeFind()source public

beforeFind( array $query )

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

Параметры

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

Возвращает

mixed

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


Ссылка

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

beforeSave()source public

beforeSave( array $options array() )

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

Параметры

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

Эта функция — удобная обертка для создания (false) и, как следует из названия, очищает 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
Если true, любые входные данные первичного ключа перезаписываются пустым значением

Возвращает

array
Текущий Model::data; после объединения $data и/или значений по умолчанию из базы данных

Ссылка

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

deconstruct()source public

deconstruct( string $field , array|object $data )

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

Параметры

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

Возвращает

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

delete()source public

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

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

Параметры

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

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

boolean
True при успехе

Триггеры

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

Ссылка

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

deleteAll()source public

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

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

Параметры

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

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

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

Ссылка

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

escapeField()source public

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

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

Параметры

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

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

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

exists()source public

exists( integer|string $id null )

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

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

Параметры

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

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

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

field()source public

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

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

Параметры

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

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

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

Ссылка

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

find()source public

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

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

Используется для выполнения операций поиска, где первый аргумент — тип операции поиска (все / первый / количество / соседи / список / ветвящиеся), второй параметр — параметры поиска (индексированный массив, включая: «условия», «предел», «рекурсивность», «страница», «поля», «смещение», «порядок», «коллбеки»)

Например:

$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) для получения информации о реализации пользовательских типов поиска.

Указание «полей» для обозначения «список»:

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

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

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

Параметры

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

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

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

Ссылка

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

getAffectedRows()source public

getAffectedRows( )

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

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

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

getAssociated()source public

getAssociated( string $type null )

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

Параметры

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

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

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

getColumnType()source public

getColumnType( string $column )

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

Параметры

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

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

string
Тип столбца

getColumnTypes()source public

getColumnTypes( )

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

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

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

getDataSource()source public

getDataSource( )

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

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

DataSource
Объект DataSource

getEventManager()source public

getEventManager( )

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

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

CakeEventManager

getID()source public

getID( integer $list 0 )

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

Параметры

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

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

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

getInsertID()source public

getInsertID( )

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

Возвращает

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

getLastInsertID()source public

getLastInsertID( )

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

Возвращает

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

getNumRows()source public

getNumRows( )

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

Возвращает

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

getVirtualField()source public

getVirtualField( string $field null )

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

Параметры

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

Возвращает

mixed

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


hasAny()source public

hasAny( array $conditions null )

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

Параметры

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

Возвращает

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

hasField()source public

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

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

Параметры

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

Возвращает

mixed

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


hasMethod()source public

hasMethod( string $method )

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

Параметры

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

Возвращает

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

implementedEvents()source public

implementedEvents( )

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

Возвращает

array

Реализация

CakeEventListener::implementedEvents()

invalidFields()source public

invalidFields( array|string $options array() )

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

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

Параметры

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

Возвращает

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

См. также

Model::validates()

invalidate()source public

invalidate( string $field , mixed $value true )

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

Параметры

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

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

isForeignKey()source public

isForeignKey( string $field )

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

Параметры

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

Возвращает

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

isUnique()source public

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

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

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

Параметры

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

Возвращает

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

isVirtualField()source public

isVirtualField( string $field )

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

Параметры

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

Возвращает

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

joinModel()source public

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

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

Параметры

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

Возвращает

array

onError()source public

onError( )

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

Ссылка

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

query()source public

query( string $sql )

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

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

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

Параметры

string $sql
SQL-запрос

Возвращает

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

Ссылка

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

read()source public

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

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

Параметры

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

Возвращает

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

Ссылка

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

resetAssociations()source public

resetAssociations( )

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

Возвращает

boolean
Успех

save()source public

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

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

Параметры

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

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

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

Возвращает

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

Исключения

Exception
PDOException

Триггеры

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

Ссылка

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

saveAll()source public

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

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

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

Параметры

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

Параметры

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

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

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

Возвращает

mixed

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


Ссылка

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

saveAssociated()source public

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

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

Параметры

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

Параметры

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

Возвращает

mixed

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


Исключения

PDOException

Ссылка

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

saveField()source public

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

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

Параметры

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

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

Возвращает

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

См. также

Model::save()

Ссылка

http://book.cakephp.org/2.0/ru/models/saving-your-data.html#model-savefield-string-fieldname-string-fieldvalue-validate-false

saveMany()source public

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

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

Параметры

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

Параметры

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

Возвращает

mixed

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


Исключения

PDOException

Ссылка

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

schema()source public

schema( boolean|string $field false )

Возвращает массив метаданных таблицы (имена и типы столбцов) из базы данных. $field => keys(тип, 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.

Ссылка

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 Заявки на поддержку, чтобы временно облегчить модель Пользователя:

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

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

Параметры

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

Возвращает

boolean
Успех

Ссылка

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

updateAll()source public

updateAll( array $fields , mixed $conditions true )

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

Параметры

array $fields

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

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

Возвращает

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

Ссылка

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

updateCounterCache()source public

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

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

Параметры

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

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

validateAssociated()source public

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

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

Опции

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

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

Параметры

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

Возвращает

array|boolean

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


validateMany()source public

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

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

Опции

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

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

Параметры

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

Возвращает

boolean|array

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


validates()source public

validates( array $options array() )

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

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

Параметры

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

Возвращает

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

validator()source public

validator( ModelValidator $instance null )

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

Параметры

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

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

Возвращает

ModelValidator

Наследуемые методы из Object

_mergeVars()source защищённый

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

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

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

Параметры

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

_set()source защищённый

_set( array $properties array() )

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

Параметры

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

_stop()source защищённый

_stop( integer|string $status 0 )

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

Параметры

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

dispatchMethod()source публичный

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

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

Параметры

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

Возвращает

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

log()source публичный

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() для получения дополнительной информации о параметрах ведения журналов.

Возвращает

логическое значение
Успешность записи в журнал

requestAction()source публичный

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 об успехе/неуспехе, или содержимое рендерного действия, если 'return' установлен в $extra.


toString()source публичный

toString( )

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

Возвращает

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

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

$belongsTosource

публичный массив

Действия ACO принадлежат ACO.

array('Aco')

$namesource

публичный строка

Имя модели

'AcoAction'

© 2005–2016 The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
http://api.cakephp.org/2.8/class-AcoAction.html

Spec-Zone.ru

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