Класс ContainableBehavior
Поведение, позволяющее динамично и атомарно манипулировать ассоциациями модели, используемыми для вызова find. Наиболее полезно для ограничения количества ассоциаций и возвращаемых данных.
- CakeObject
-
ModelBehavior -
ContainableBehavior
Ссылка: http://book.cakephp.org/2.0/ru/core-libraries/behaviors/containable.html
Авторские права: Авторские права (с) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: Лицензия MIT
Расположение: Cake/Model/Behavior/ContainableBehavior.php
Краткое описание свойств
-
$runtimepublicКонфигурация времени выполнения для этого поведенияarray -
$typespublicТипы доступных отношений для моделейarray
Унаследованные свойства
Краткое описание методов
- beforeFind() public
Выполняется перед операцией find(). Используется для разрешения параметра 'contain' в рамках вызова find, например:
- contain() public
Отвязывает все отношения от модели, кроме указанных. Вызов этой функции без параметров отвязывает все связанные модели.
- containments() publicОбработка содержаний для модели.
- containmentsMap() publicПостроение карты содержаний
- fieldDependencies() publicРасчет необходимых полей для получения требуемых связей для заданной модели.
- resetBindings() public
Постоянно восстанавливает исходные настройки привязки заданной модели, полезно для восстановления привязок после использования 'reset' => false в рамках вызова contain.
- setup() publicИнициализация поведения для модели с использованием указанных настроек.
Подробное описание методов
beforeFind()source public
beforeFind( Model $Model , array $query )
Выполняется перед операцией find(). Используется для разрешения параметра 'contain' в рамках вызова find, например:
Model->find('all', array('contain' => array('Model1', 'Model2')));
Model->find('all', array('contain' => array(
'Model1' => array('Model11', 'Model12'),
'Model2',
'Model3' => array(
'Model31' => 'Model311',
'Model32',
'Model33' => array('Model331', 'Model332')
))); Параметры
-
Model$Model - Модель, использующая поведение
- массив
$query - Параметры запроса, установленные cake
Возвращаемое значение
массивПереопределяет
ModelBehavior::beforeFind() contain()source public
contain( Model $Model )
Отвязывает все отношения от модели, кроме указанных. Вызов этой функции без параметров отвязывает все связанные модели.
Параметры
-
Model$Model - Модель, на которую накладывается ограничение привязки
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/behaviors/containable.html#using-containablecontainments()source public
containments( Model $Model , array $contain , array $containments array() , boolean $throwErrors null )
Обработка содержаний для модели.
Параметры
-
Model$Model - Модель, на которую накладывается ограничение привязки
- массив
$contain - Параметры для ограничения этой модели
- массив
$containmentsнеобязательно массив() - Текущий набор содержаний
- логическое
$throwErrorsнеобязательно null - Указывает, будут ли генерироваться ошибки для несуществующих привязок
Возвращаемое значение
массивСодержания
containmentsMap()source public
containmentsMap( array $containments )
Построение карты содержаний
Параметры
- массив
$containments - Содержания
Возвращаемое значение
массивПостроенные содержащиеся данные
fieldDependencies()source public
fieldDependencies( Model $Model , array $map , array|boolean $fields array() )
Расчет необходимых полей для получения требуемых связей для заданной модели.
Параметры
-
Model$Model - Модель
- массив
$map - Карта отношений для заданной модели
- массив|логическое
$fieldsнеобязательно массив() - Если массив, поля для начальной загрузки, если false, используйте $Model в качестве основной модели
Возвращаемое значение
массивПоля
resetBindings()source public
resetBindings( Model $Model )
Постоянно восстанавливает исходные настройки привязки заданной модели, полезно для восстановления привязок после использования 'reset' => false в рамках вызова contain.
Параметры
-
Model$Model - Модель, для которой нужно сбросить привязки
setup()source public
setup( Model $Model , array $settings array() )
Инициализация поведения для модели с использованием указанных настроек.
Доступные настройки:
- recursive: (логическое, необязательно) устанавливает значение true, чтобы containable автоматически определял необходимый уровень рекурсии для получения указанных моделей и устанавливал уровень рекурсии модели на этот уровень. Установка false отключает эту функцию. ПО УМОЛЧАНИЮ: true
- notices: (логическое, необязательно) выводит E_NOTICES для привязок, указанных в вызове containable, которые недействительны. ПО УМОЛЧАНИЮ: true
- autoFields: (логическое, необязательно) автоматически добавляет необходимые поля для получения запрошенных привязок. ПО УМОЛЧАНИЮ: true
Параметры
-
Model$Model - Модель, использующая поведение
- массив
$settingsнеобязательно массив() - Настройки для переопределения модели.
Переопределяет
ModelBehavior::setup() Методы, унаследованные от ModelBehavior
_addToWhitelist()source protected
_addToWhitelist( Model $model , string $field )
Если свойство whitelist модели не пустое, $field будет добавлен в него. Примечание: этот метод следует использовать только в beforeValidate или beforeSave, чтобы убедиться, что он изменяет только список разрешенных полей для текущей операции сохранения. Также убедитесь, что вы явно устанавливаете значение поля, которое вы разрешаете.
Параметры
-
Model$model - Модель, использующая это поведение
- строка
$field - Поле, которое нужно добавить в список разрешенных полей модели
afterDelete()source public
afterDelete( Model $model )
После удаления вызывается после любого удаления присоединенной модели.
Параметры
-
Model$model - Модель, использующая это поведение
afterFind()source public
afterFind( Model $model , mixed $results , boolean $primary false )
Обратный вызов после find. Может использоваться для изменения любых возвращаемых результатов find.
Параметры
-
Model$model - Модель, использующая это поведение
- смешанное
$results - Результаты операции find
- логическое
$primaryнеобязательно false - Указывает, запрашивается ли эта модель напрямую (или запрашивается ли она как ассоциация)
Возвращаемое значение
смешанноеЗначение массива заменит значение $results — любое другое значение будет проигнорировано.
afterSave()source public
afterSave( Model $model , boolean $created , array $options array() )
Метод afterSave вызывается после сохранения модели.
Параметры
-
Model$model - Модель, использующая этот метод
- boolean
$created - Истина, если это сохранение создало новую запись
- array
$optionsнеобязательно array() - Опции, переданные из Model::save().
Возвращает
booleanСм. также
Model::save()afterValidate()source public
afterValidate( Model $model )
afterValidate вызывается сразу после проверки данных модели. Вы можете использовать этот обработчик для выполнения любых необходимых действий по очистке или подготовке данных.
Параметры
-
Model$model - Модель, использующая этот метод
Возвращает
mixedЛожь остановит распространение этого события другим методам
beforeDelete()source public
beforeDelete( Model $model , boolean $cascade true )
Метод beforeDelete вызывается перед любым удалением присоединённой модели, но после вызова метода beforeDelete модели. Возвращение ложного значения из beforeDelete прервёт удаление.
Параметры
-
Model$model - Модель, использующая этот метод
- boolean
$cascadeнеобязательно true - Если истинно, записи, зависящие от этой записи, также будут удалены
Возвращает
mixedЛожь, если операция должна быть прервана. Любой другой результат будет продолжен.
beforeSave()source public
beforeSave( Model $model , array $options array() )
Метод beforeSave вызывается перед сохранением модели. Возвращение ложного значения из beforeSave прервёт операцию сохранения.
Параметры
-
Model$model - Модель, использующая этот метод
- array
$optionsнеобязательно array() - Опции, переданные из Model::save().
Возвращает
mixedЛожь, если операция должна быть прервана. Любой другой результат будет продолжен.
См. также
Model::save()beforeValidate()source public
beforeValidate( Model $model , array $options array() )
Метод beforeValidate вызывается перед проверкой модели. Вы можете использовать этот обработчик для добавления правил проверки поведения в массив validate модели. Возвращение ложного значения позволит сделать проверку несостоятельной.
Параметры
-
Model$model - Модель, использующая этот метод
- array
$optionsнеобязательно array() - Опции, переданные из Model::save().
Возвращает
mixedЛожь или null прервут операцию. Любой другой результат будет продолжен.
См. также
Model::save()cleanup()source public
cleanup( Model $model )
Очистка любых инициализаций, выполненных этим методом для модели. Вызывается при динамическом отсоединении метода от модели с помощью Model::detach().
Параметры
-
Model$model - Модель, использующая этот метод
См. также
BehaviorCollection::detach()onError()source public
onError( Model $model , string $error )
Обработчик ошибок источника данных
Параметры
-
Model$model - Модель, использующая этот метод
- string
$error - Ошибка, сгенерированная источником данных
Методы, унаследованные от CakeObject
_mergeVars()source protected
_mergeVars( array $properties , string $class , boolean $normalize true )
Объединяет свойства этого объекта со свойствами в определении $class. Значение этого класса для свойства будет объединено поверх $class'
Это предоставляет часть магии DRY, предоставляемой CakePHP. Если вы хотите отключить её, переопределите этот метод как пустую функцию.
Параметры
- array
$properties - Имя свойств для объединения.
- string
$class - Класс для объединения свойства с.
- boolean
$normalizeнеобязательно true - Установите в значение true, чтобы выполнить свойства через Hash::normalize() перед объединением.
_set()source protected
_set( array $properties array() )
Позволяет устанавливать несколько свойств объекта в одной строке кода. Устанавливает только те свойства, которые являются частью объявления класса.
Параметры
- array
$propertiesнеобязательно array() - Ассоциативный массив, содержащий свойства и соответствующие значения.
_stop()source protected
_stop( integer|string $status 0 )
Останавливает выполнение текущего скрипта. Обёртка над exit(), что упрощает тестирование.
Параметры
- integer|string
$statusнеобязательно 0 - см. http://php.net/exit для значений
dispatchMethod()source public
dispatchMethod( string $method , array $params array() )
Вызывает метод этого объекта с заданными параметрами. Предоставляет ОО-обёртку для call_user_func_array
Параметры
- string
$method - Имя вызываемого метода
- array
$paramsнеобязательно array() - Список параметров для использования при вызове $method
Возвращает
mixedВозвращает результат вызова метода
log()source public
log( string $msg , integer $type LOG_ERR , null|string|array $scope null )
Удобный метод для записи сообщения в CakeLog. См. CakeLog::write() для получения дополнительной информации о записи в лог.
Параметры
- string
$msg - Сообщение для лога
- integer
$typeнеобязательно LOG_ERR - Константа типа ошибки. Определена в app/Config/core.php.
- null|string|array
$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.
Параметры
- string|array
$url Строковый или массивный URL. В отличие от других массивов URL в CakePHP, этот URL не будет автоматически обрабатывать передаваемые и именованные аргументы в параметре $url.
- array
$extraнеобязательно array() если массив включает ключ "return", устанавливает AutoRender в значение true. Также может использоваться для отправки данных GET/POST и именованных/переданных аргументов.
Возвращает
mixedБулево значение true или false при успехе/неуспехе или содержимое отрендеренного действия, если в $extra установлен ключ 'return'.
toString()source public
toString( )
Преобразование CakeObject в строку. Каждый класс может переопределить этот метод по мере необходимости.
Возвращает
stringНазвание этого класса
Подробное описание свойств
$typessource
public array
Типы отношений, доступные для моделей
array('belongsTo', 'hasOne', 'hasMany', 'hasAndBelongsToMany')
© 2005–2016 The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/2.9/class-ContainableBehavior.html