Spec-Zone.ru › CakePHP 2.7

Класс ContainableBehavior

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

Объект
Extended by ModelBehavior
Extended by ContainableBehavior
Пакет: Cake\Модель\Поведение
Авторские права: Авторские права (с) Фонд программного обеспечения Cake, Inc. (http://cakefoundation.org)
Лицензия: Лицензия MIT
Ссылка: http://book.cakephp.org/2.0/ru/core-libraries/behaviors/containable.html
Расположение: Cake/Model/Behavior/ContainableBehavior.php

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

beforeFindисходный код 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

Возвращает

array
массив

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

ModelBehavior::beforeFind()

containисходный код public

contain( Model $Model )

Отвязывает все отношения от модели, кроме указанных. Вызов этой функции без параметров отвязывает все связанные модели.

Параметры

Model $Model
Модель, к которой применяется ограничение связи

Ссылка

http://book.cakephp.org/2.0/ru/core-libraries/behaviors/containable.html#using-containable

containmentsисходный код public

containments( Model $Model , array $contain , array $containments array() , boolean $throwErrors null )

Обработка содержаний для модели.

Параметры

Model $Model
Модель, к которой применяется ограничение связи
массив $contain
Параметры для ограничения этой модели
массив $containments необязательно массив()
Текущий набор содержаний
логический $throwErrors необязательно null
Показывать ли ошибки при отсутствии связи

Возвращает

array
Содержимое

containmentsMapисходный код public

containmentsMap( array $containments )

Построение карты содержаний

Параметры

массив $containments
Содержимое

Возвращает

array
Построенное содержимое

fieldDependenciesисходный код public

fieldDependencies( Model $Model , array $map , array|boolean $fields array() )

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

Параметры

Model $Model
Модель
массив $map
Карта отношений для данной модели
массив/логический $fields необязательно массив()
Если массив, поля для начальной загрузки, если false - используется $Model как основная модель

Возвращает

array
Поля

resetBindingsисходный код public

resetBindings( Model $Model )

Постоянно восстанавливает исходные настройки связей данной модели, полезно для восстановления связей после использования 'reset' => false в вызове contain.

Параметры

Model $Model
Модель, для которой нужно сбросить связи

setupисходный код public

setup( Model $Model , array $settings array() )

Инициализация поведения для модели с указанными параметрами.

Доступные параметры:

  • recursive: (логический, необязательно) установить в true, чтобы содержащий мог автоматически определить необходимый уровень рекурсии для получения указанных моделей и установить уровень рекурсии модели на этот уровень. Установка в false отключает эту функцию. ПО УМОЛЧАНИЮ: true
  • notices: (логический, необязательно) выводит E_NOTICES для связей, упоминаемых в вызове containable, которые не являются допустимыми. ПО УМОЛЧАНИЮ: true
  • autoFields: (логический, необязательно) автоматически добавляет необходимые поля для получения запрошенных связей. ПО УМОЛЧАНИЮ: true

Параметры

Model $Model
Модель, использующая поведение
массив $settings необязательно массив()
Параметры для переопределения модели.

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

ModelBehavior::setup()

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

_addToWhitelistисходный код protected

_addToWhitelist( Model $model , string $field )

Если свойство $model's whitelist не пустое, $field будет добавлен в него. Примечание: этот метод следует использовать только в beforeValidate или beforeSave, чтобы убедиться, что он изменяет белый список только для текущей операции сохранения. Также убедитесь, что вы явно задаете значение поля, которое вы разрешаете.

Параметры

Model $model
Модель, использующая это поведение
строка $field
Поле, которое нужно добавить в белый список $model's

afterDeleteисходный код public

afterDelete( Model $model )

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

Параметры

Model $model
Модель, использующая это поведение

afterFindисходный код public

afterFind( Model $model , mixed $results , boolean $primary false )

Обратный вызов after find. Может использоваться для изменения любого результата, возвращаемого find.

Параметры

Model $model
Модель, использующая это поведение
смешанное $results
Результаты операции find
логический $primary необязательно false
Является ли эта модель запрашиваемой напрямую (или она запрашивается как ассоциация)

Возвращает

mixed
Значение массива заменит значение $results - любое другое значение будет проигнорировано.

afterSaveисходный код public

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

afterSave вызывается после сохранения модели.

Параметры

Model $model
Модель, использующая это поведение
логический $created
True, если это сохранение создало новую запись
массив $options необязательно массив()
Параметры, переданные из Model::save().

Возвращает

boolean
bool

См. также

Model::save()

afterValidateисходный код public

afterValidate( Model $model )

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

Параметры

Model $model
Модель, использующая это поведение

Возвращает

mixed
False остановит прохождение события другим поведениям
END_OF_DOCUMENT_MARKER

beforeDeletesource public

beforeDelete( Model $model , boolean $cascade true )

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

Параметры

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

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

mixed
False, если операция должна быть прервана. Любой другой результат будет продолжен.

beforeSavesource public

beforeSave( Model $model , array $options array() )

Метод beforeSave вызывается перед сохранением модели. Возврат значения false из колбэка beforeSave прервет операцию сохранения.

Параметры

Model $model
Модель, использующая этот бихевиор
array $options необязательно array()
Опции, переданные из Model::save().

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

mixed
False, если операция должна быть прервана. Любой другой результат будет продолжен.

См. также

Model::save()

beforeValidatesource public

beforeValidate( Model $model , array $options array() )

Метод beforeValidate вызывается перед валидацией модели. Вы можете использовать этот колбэк для добавления правил валидации бихевиора в массив validate модели. Возврат значения false позволит заставить валидацию завершиться неудачей.

Параметры

Model $model
Модель, использующая этот бихевиор
array $options необязательно array()
Опции, переданные из Model::save().

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

mixed
False или null прервут операцию. Любой другой результат будет продолжен.

См. также

Model::save()

cleanupsource public

cleanup( Model $model )

Очистка любых инициализаций, выполненных этим бихевиором в модели. Вызывается при динамической отвязке бихевиора от модели с помощью Model::detach().

Параметры

Model $model
Модель, использующая этот бихевиор

См. также

BehaviorCollection::detach()

onErrorsource public

onError( Model $model , string $error )

Обработчик ошибок источника данных

Параметры

Model $model
Модель, использующая этот бихевиор
string $error
Ошибка, сгенерированная в источнике данных

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

__constructsource public

__construct( )

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

_mergeVarssource protected

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

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

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

Параметры

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

_setsource protected

_set( array $properties array() )

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

Параметры

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

_stopsource protected

_stop( integer|string $status 0 )

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

Параметры

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

dispatchMethodsource public

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

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

Параметры

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

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

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

logsource 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
Успешность записи в журнал

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

toStringsource public

toString( )

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

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

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

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

$runtimesource

public array

Конфигурация выполнения для этого бихевиора

array()

$typessource

public array

Типы доступных отношений для моделей

array('belongsTo', 'hasOne', 'hasMany', 'hasAndBelongsToMany')

Свойства, унаследованные от ModelBehavior

$mapMethodssource

public array

Позволяет сопоставлять регулярные выражения, совместимые с preg, с открытыми или закрытыми методами в этом классе, где ключ массива — регулярное выражение, разделенное символом «/», а значение — метод класса. Аналогично функциональности магических методов findBy* / findAllBy*.

array()

$settingssource

public array

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

См. также

Model::$alias
array()

© 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.7/class-ContainableBehavior.html

Spec-Zone.ru

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