Класс EntityContext
Предоставляет контекст формы вокруг одной сущности и ее отношений. Также может использоваться в качестве контекста вокруг массива или итератора сущностей.
Этот класс позволяет интерфейсу FormHelper взаимодействовать с сущностями или коллекциями сущностей.
Важные ключи:
-
entityСущность, на которой работает этот контекст. -
tableЛибо экземпляр ORM\Table для получения схемы/валидаторов, массив экземпляров таблиц в случае формы, охватывающей несколько сущностей, или имя(а) таблицы. Если это null, имя(а) таблицы будут определены с помощью соглашений об именовании. -
validatorЛибо Validation\Validator для использования, или имя метода валидации для вызова на объекте таблицы. Например, 'default'. По умолчанию 'default'. Может быть массивом alias таблицы => валидаторов при работе с связанными формами.
- Cake\View\Form\EntityContext реализует Cake\View\Form\ContextInterface
Краткое описание свойств
-
$_contextprotectedДанные контекста для этого объекта.array -
$_isCollectionprotectedbooleanБулево значение, указывающее, является ли сущность коллекцией.
- Объект запроса.
$_requestprotected -
$_rootNameprotectedИмя объекта сущности/таблицы верхнего уровня.string -
$_tablesprotectedСловарь таблицarray - Словарь валидаторов.
$_validatorprotected
Краткое описание методов
- __construct() publicКонструктор.
- _extractMultiple() protected
Вспомогательный метод для извлечения всех значений первичного ключа из массива. Столбец первичного ключа предполагается из предоставленного массива $path.
- _getProp() protectedЧтение значений свойств или обход массивов/итераторов.
- _getTable() protectedПолучение экземпляра таблицы по пути к свойству.
- _getValidator() protected
Получение валидатора, связанного с сущностью, на основе соглашений об именовании.
- _prepare() protectedПодготовка дополнительных данных из контекста.
- _schemaDefault() protectedПолучение значения по умолчанию из схемы таблицы для заданного поля сущности.
- attributes() publicПолучение ассоциативного массива других атрибутов для имени поля.
- entity() publicПолучение листовой сущности для заданного пути.
- error() publicПолучение ошибок для заданного поля.
- fieldNames() publicПолучение имён полей из сущности верхнего уровня.
- hasError() publicПроверка наличия ошибки, привязанной к полю.
- isCreate() publicПроверка, является ли эта форма созданием или обновлением.
- isPrimaryKey() publicВозвращает true, если переданное имя поля является частью первичного ключа для данного контекста.
- isRequired() publicПроверка, должно ли поле отмечаться как обязательное.
- primaryKey() publicПолучение данных первичного ключа для контекста.
- type() publicПолучение абстрактного типа поля для данного имени поля.
- val() publicПолучение значения для заданного пути.
Подробное описание методов
__construct()source public
__construct( Cake\Http\ServerRequest $request , array $context )
Конструктор.
Параметры
-
Cake\Http\ServerRequest$request - Объект запроса.
- массив
$context - Информация о контексте.
_extractMultiple()source protected
_extractMultiple( array|Traversable $values , array $path )
Вспомогательный метод для извлечения всех значений первичного ключа из массива. Столбец первичного ключа предполагается из предоставленного массива $path.
Параметры
- массив|Перебираемый
$values - Список, из которого нужно извлечь первичные ключи.
- массив
$path - Каждая из частей в пути к имени поля.
Возвращает
массив|null_getProp()source protected
_getProp( mixed $target , string $field )
Чтение значений свойств или обход массивов/итераторов.
Параметры
- смешанный
$target - Сущность/массив/коллекция для извлечения $field.
- строка
$field - Следующее поле для извлечения.
Возвращает
смешанный_getTable()source protected
_getTable( array $parts , boolean $fallback true )
Получение экземпляра таблицы по пути к свойству.
Параметры
- массив
$parts - Каждая из частей в пути к имени поля.
- булево
$fallbackнеобязательно true Использовать ли последний найденный столбец, когда встречается несуществующее поле/свойство.
Возвращает
Cake\ORM\Table|булевоЭкземпляр таблицы или ложь
_getValidator()source protected
_getValidator( array $parts )
Получение валидатора, связанного с сущностью, на основе соглашений об именовании.
Параметры
- массив
$parts - Каждая из частей в пути к имени поля.
Возвращает
Cake\Validation\Validator_prepare()source protected
_prepare( )
Подготовка дополнительных данных из контекста.
Если в конструктор был передан параметр таблицы в виде строки, будет использоваться ORM\TableRegistry для получения правильного экземпляра таблицы.
Если в качестве параметра таблицы был передан объект, он будет использован как есть.
Если параметр таблицы не передан, имя таблицы будет выведено на основе соглашений об именовании. Это выведение будет работать с несколькими стандартными объектами, такими как массивы, объекты Collection и ResultSets.
Выбрасывает
Исключение RuntimeExceptionКогда объект таблицы не может быть найден/выведен.
_schemaDefault()source protected
_schemaDefault( string $field , Cake\Datasource\EntityInterface $entity )
Получение значения по умолчанию из схемы таблицы для заданного поля сущности.
Параметры
- строка
$field - Имя поля.
-
Cake\Datasource\EntityInterface$entity - Сущность.
Возвращает
смешанныйattributes()source public
attributes( string $field )
Получить ассоциативный массив дополнительных атрибутов для имени поля.
Параметры
- строка
$field - Путь с разделителем «точка» для получения дополнительных данных.
Возвращает
массивМассив данных, описывающих дополнительные атрибуты поля.
Реализация
Cake\View\Form\ContextInterface::attributes() entity()source public
entity( array|null $path null )
Получить листовое сущности по заданному пути.
Этот метод пройдет по заданному пути и найдет листовую сущность. Если путь не содержит листовой сущности, будет возвращено false.
Параметры
- массив|null
$pathнеобязательно null Каждый из элементов в пути к имени поля или null, чтобы получить сущность, переданную в контексте конструктора.
Возвращает
Cake\Datasource\EntityInterface|Перечисляемый|массив|булевоИсключения
RuntimeExceptionКогда свойства не могут быть прочитаны.
error()source public
error( string $field )
Получить ошибки для заданного поля
Параметры
- строка
$field - Путь с разделителем «точка» для проверки ошибок.
Возвращает
массивМассив ошибок.
Реализация
Cake\View\Form\ContextInterface::error() fieldNames()source public
fieldNames( )
Получить имена полей из сущности верхнего уровня.
Если контекст предназначен для массива сущностей, будет использоваться 0-й индекс.
Возвращает
массивМассив имён полей в таблице/сущности.
Реализация
Cake\View\Form\ContextInterface::fieldNames() hasError()source public
hasError( string $field )
Проверить, есть ли ошибка, привязанная к полю
Параметры
- строка
$field - Путь с разделителем «точка» для проверки ошибок.
Возвращает
булевоВозвращает true, если ошибки для поля не пустые.
Реализация
Cake\View\Form\ContextInterface::hasError() isCreate()source public
isCreate( )
Проверить, является ли эта форма созданием или обновлением.
Если контекст предназначен для одной сущности, будет использоваться метод isNew() сущности. Если isNew() возвращает null, будет предположено создание.
Если контекст предназначен для коллекции или массива, будет использоваться первый объект в коллекции.
Возвращает
булевоРеализация
Cake\View\Form\ContextInterface::isCreate() isPrimaryKey()source public
isPrimaryKey( string $field )
Возвращает true, если переданное имя поля является частью первичного ключа для этого контекста
Параметры
- строка
$field Путь с разделителем «точка» к полю, для которого требуется значение.
Возвращает
булевоРеализация
Cake\View\Form\ContextInterface::isPrimaryKey() isRequired()source public
isRequired( string $field )
Проверить, должно ли поле быть помечено как обязательное.
Параметры
- строка
$field - Путь с разделителем «точка» к полю, которое нужно проверить.
Возвращает
булевоРеализация
Cake\View\Form\ContextInterface::isRequired() primaryKey()source public
primaryKey( )
Получить данные первичного ключа для контекста.
Получить столбцы первичного ключа из схемы корневой сущности.
Возвращает
массивРеализация
Cake\View\Form\ContextInterface::primaryKey() type()source public
type( string $field )
Получить абстрактный тип поля для заданного имени поля.
Параметры
- строка
$field - Путь с разделителем «точка» для получения типа схемы.
Возвращает
null|строкаАбстрактный тип данных или null.
См.
Cake\Database\TypeРеализация
Cake\View\Form\ContextInterface::type() val()source public
val( string $field , array $options [] )
Получить значение для заданного пути.
Проходит по данным сущности и находит значение для $path.
Параметры
- строка
$field - Путь с разделителем «точка» до значения.
- массив
$optionsнеобязательно [] Опции: -
default: Значение по умолчанию, которое нужно вернуть, если значение не найдено в данных запроса или сущности. -schemaDefault: Булево значение, указывающее, должно ли использоваться значение по умолчанию из схемы таблицы, если оно не указано явно.
Возвращает
смешанноеЗначение поля или null при отсутствии.
Реализация
Cake\View\Form\ContextInterface::val() Подробное описание свойств
$_isCollectionsource
protected булево
Булево значение для отслеживания того, является ли сущность коллекцией.
false
© 2005–2018 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/3.5/class-Cake.View.Form.EntityContext.html