Spec-Zone.ru › CakePHP 2.9

Класс ContainableBehavior

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

CakeObject
Extended by ModelBehavior
Extended by ContainableBehavior
Пакет: Cake\Модель\Поведение
Ссылка: 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

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

  • $runtime public
    array
    Конфигурация времени выполнения для этого поведения
  • $types public
    array
    Типы доступных отношений для моделей

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

  • mapMethods, settings

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

  • 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-containable

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

__construct()source public

__construct( )

Конструктор, бездействующий

_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
Название этого класса

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

$runtimesource

public array

Конфигурация времени выполнения для данного поведения

array()

$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

Spec-Zone.ru

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