Класс EntityContext
Предоставляет контекст формы вокруг одной сущности и ее отношений. Также может быть использован как контекст вокруг массива или итератора сущностей.
Этот класс позволяет интерфейсу FormHelper взаимодействовать с сущностями или коллекциями сущностей.
Важные ключи:
-
entityСущность, на которой работает этот контекст. -
tableЭкземпляр ORM\Table для извлечения схемы/валидаторов, массив экземпляров таблиц в случае формы, охватывающей несколько сущностей, или имя(а) таблицы. Если это null, имя(а) таблицы будет определено с помощью соглашений об именовании. -
validatorВалидатор Validation\Validator или имя метода валидации для вызова объекта таблицы. Например, 'default'. По умолчанию 'default'. Может быть массивом alias таблицы => валидаторов при работе с связанными формами.
- Cake\View\Form\EntityContext реализует Cake\View\Form\ContextInterface
Подробное описание методов
__constructsource public
__construct( Cake\Network\Request $request , array $context )
Конструктор.
Параметры
-
Cake\Network\Request$request - Объект запроса.
- массив
$context - Информация о контексте.
_extractMultiplesource protected
_extractMultiple( array|Traversable $values , array $path )
Вспомогательный метод, используемый для извлечения всех значений первичного ключа из массива. Столбец первичного ключа определяется из предоставленного массива $path.
Параметры
- массив|Перечислимый
$values - Список, из которого необходимо извлечь первичные ключи.
- массив
$path - Каждый из элементов в пути к имени поля.
Возвращает
arrayмассив
_getPropsource protected
_getProp( mixed $target , string $field )
Чтение значений свойств или обход массивов/итераторов.
Параметры
- смешанный
$target - Сущность/массив/коллекция для извлечения $field.
- строка
$field - Следующее поле для извлечения.
Возвращает
mixedсмешанный
_getTablesource protected
_getTable( array $parts , boolean $rootFallback true )
Получение экземпляра таблицы из пути к свойству.
Параметры
- массив
$parts - Каждый из элементов в пути к имени поля.
- булево
$rootFallbackнеобязательно true - Использовать ли корневую сущность в качестве альтернативы.
Возвращает
Cake\ORM\Table|booleanЭкземпляр таблицы или false
_getValidatorsource protected
_getValidator( array $parts )
Получение валидатора, связанного с сущностью, на основе соглашений об именовании.
Параметры
- массив
$parts - Каждый из элементов в пути к имени поля.
Возвращает
Cake\Validation\Validator\Cake\Validation\Validator
_preparesource protected
_prepare( )
Подготовка дополнительных данных из контекста.
Если в конструктор был передан параметр table и он был строкой, ORM\TableRegistry будет использован для получения нужного экземпляра таблицы.
Если в качестве параметра table был передан объект, он будет использован как есть.
Если параметр table не указан, имя таблицы будет определено на основе соглашений об именовании. Эта инференция будет работать с рядом общих объектов, таких как массивы, объекты Collection и ResultSets.
Выбрасывает
RuntimeExceptionПри невозможности найти/вывести объект таблицы.
attributessource public
attributes( string $field )
Получение ассоциативного массива дополнительных атрибутов для имени поля.
Параметры
- строка
$field - Разделенный точками путь для получения дополнительных данных.
Возвращает
arrayМассив данных, описывающих дополнительные атрибуты поля.
Реализация
Cake\View\Form\ContextInterface::attributes() entitysource public
entity( array|null $path null )
Извлечение листовой сущности для заданного пути.
Этот метод будет обходить заданный путь и находить листовую сущность. Если путь не содержит листовой сущности, будет возвращен false.
Параметры
- массив|null
$pathнеобязательно null - Каждый из элементов в пути к имени поля или null для получения сущности, переданной в контексте конструктора.
Возвращает
Cake\Datasource\EntityInterface|Traversable|array|boolean\Cake\Datasource\EntityInterface|\Traversable|массив|булево
Выбрасывает
RuntimeExceptionПри невозможности чтения свойств.
errorsource public
error( string $field )
Получение ошибок для заданного поля.
Параметры
- строка
$field - Разделенный точками путь для проверки ошибок.
Возвращает
arrayМассив ошибок.
Реализация
Cake\View\Form\ContextInterface::error() fieldNamessource public
fieldNames( )
Получение имен полей из сущности верхнего уровня.
Если контекст предназначен для массива сущностей, будет использоваться 0-й индекс.
Возвращает
arrayМассив имен полей в таблице/сущности.
Реализация
Cake\View\Form\ContextInterface::fieldNames() hasErrorsource public
hasError( string $field )
Проверка наличия ошибки для поля.
Параметры
- строка
$field - Разделенный точками путь для проверки ошибок.
Возвращает
booleanВозвращает true, если массив ошибок для поля не пуст.
Реализация
Cake\View\Form\ContextInterface::hasError() isCreatesource public
isCreate( )
Проверка, является ли форма формой создания или редактирования.
Если контекст предназначен для одной сущности, будет использован метод isNew() сущности. Если isNew() возвращает null, предполагается операция создания.
Если контекст предназначен для коллекции или массива, будет использоваться первый объект в коллекции.
Возвращает
booleanbool
Реализация
Cake\View\Form\ContextInterface::isCreate() isPrimaryKeysource public
isPrimaryKey( string $field )
Возвращает true, если переданное имя поля является частью первичного ключа для этого контекста.
Параметры
- строка
$field - Разделенный точками путь к полю, для которого требуется значение.
Возвращает
booleanbool
Реализация
Cake\View\Form\ContextInterface::isPrimaryKey() isRequiredsource public
isRequired( string $field )
Проверка, должно ли поле быть помечено как обязательное.
Параметры
- строка
$field - Разделенный точками путь к полю, которое необходимо проверить.
Возвращает
booleanbool
Реализация
Cake\View\Form\ContextInterface::isRequired() primaryKeysource public
primaryKey( )
Получение данных первичного ключа для контекста.
Получение столбцов первичного ключа из схемы корневой сущности.
Возвращает
booleanbool
Реализация
Cake\View\Form\ContextInterface::primaryKey() typesource public
type( string $field )
Получить абстрактный тип поля для заданного имени поля.
Параметры
- string
$field - Путь, разделенный точками, для получения типа схемы.
Возвращает
null|stringАбстрактный тип данных или null.
См. также
Cake\Database\TypeРеализация
Cake\View\Form\ContextInterface::type() valsource public
val( string $field )
Получить значение для заданного пути.
Перебирает данные сущности и находит значение для $path.
Параметры
- string
$field - Путь, разделенный точками, к значению.
Возвращает
mixedЗначение поля или null при отсутствии.
Реализация
Cake\View\Form\ContextInterface::val() Краткое описание свойств
© 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/3.1/class-Cake.View.Form.EntityContext.html