Класс EntityContext
Предоставляет контекст формы вокруг одной сущности и её отношений. Также может быть использован как контекст вокруг массива или итератора сущностей.
Этот класс позволяет интерфейсу FormHelper взаимодействовать с сущностями или коллекциями сущностей.
Важные ключи:
-
entityСущность, над которой работает этот контекст. -
tableЛибо экземпляр ORM\Table для извлечения схемы/валидаторов, массив экземпляров таблиц в случае формы, охватывающей несколько сущностей, либо имя(а) таблицы. Если значение null, имя(а) таблицы будет определено с помощью соглашений об именовании. -
validatorЛибо Validation\Validator для использования, либо имя метода валидации для вызова на объекте таблицы. Например, 'default'. По умолчанию 'default'. Может быть массивом alias=>validators при работе с связанными формами.
- Cake\View\Form\EntityContext реализует Cake\View\Form\ContextInterface использует Cake\ORM\Locator\LocatorAwareTrait
Краткое описание свойств
-
$_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 - Каждый из элементов в пути к имени поля
- булево
$fallbackoptional true Использовать ли обратное значение к последней найденной таблице при встрече несуществующего поля/свойства.
Возвращает
Cake\ORM\Table|булевоЭкземпляр таблицы или false
_getValidator()source protected
_getValidator( array $parts )
Получение валидатора, связанного с сущностью, на основе соглашений об именовании.
Параметры
- массив
$parts - Каждый из элементов в пути к имени поля
Возвращает
Cake\Validation\Validator_prepare()source protected
_prepare( )
Подготовка дополнительных данных из контекста.
Если в конструктор был передан параметр table как строка, будет использован TableLocator для получения соответствующего экземпляра таблицы.
Если в качестве параметра table передан объект, он будет использован как есть.
Если параметр table не передан, имя таблицы будет определено на основе соглашений об именовании. Эта инференция будет работать с несколькими распространёнными объектами, такими как массивы, объекты Collection и ResultSets.
Исключения
RuntimeExceptionПри невозможности найти/определить объект таблицы.
_schemaDefault()source protected
_schemaDefault( string $field , Cake\Datasource\EntityInterface $entity )
Получение значения по умолчанию из схемы таблицы для заданного поля сущности.
Параметры
- строка
$field - Имя поля.
-
Cake\Datasource\EntityInterface$entity - Сущность.
Возвращает
смешанныйattributes()source public
attributes( string $field )
Получить ассоциативный массив дополнительных атрибутов для имени поля.
Параметры
- string
$field - Путь с разделителями «точка» для получения дополнительных данных.
Возвращаемое значение
arrayМассив данных, описывающих дополнительные атрибуты поля.
Реализация
Cake\View\Form\ContextInterface::attributes() entity()source public
entity( array|null $path = null )
Получить конечную сущность по заданному пути.
Этот метод пройдет по заданному пути и найдет конечную сущность. Если по пути нет конечной сущности, будет возвращено false.
Параметры
- array|null
$pathнеобязательно null Каждый из элементов пути к имени поля или null, чтобы получить сущность, переданную в контексте конструктора.
Возвращаемое значение
Cake\Datasource\EntityInterface|Перебираемый объект|массив|booleanИсключения
RuntimeExceptionПри невозможности чтения свойств.
error()source public
error( string $field )
Получить ошибки для заданного поля
Параметры
- string
$field - Путь с разделителями «точка» для проверки ошибок.
Возвращаемое значение
arrayМассив ошибок.
Реализация
Cake\View\Form\ContextInterface::error() fieldNames()source public
fieldNames( )
Получить имена полей из сущности верхнего уровня.
Если контекст предназначен для набора сущностей, будет использоваться элемент с индексом 0.
Возвращаемое значение
arrayМассив имён полей в таблице/сущности.
Реализация
Cake\View\Form\ContextInterface::fieldNames() hasError()source public
hasError( string $field )
Проверить наличие ошибок для поля
Параметры
- string
$field - Путь с разделителями «точка» для проверки ошибок.
Возвращаемое значение
booleanВозвращает true, если массив ошибок для поля не пустой.
Реализация
Cake\View\Form\ContextInterface::hasError() isCreate()source public
isCreate( )
Проверить, является ли форма формой создания или редактирования.
Если контекст предназначен для единственной сущности, будет использован метод isNew() сущности. Если isNew() возвращает null, будет предположено действие создания.
Если контекст предназначен для коллекции или массива, будет использоваться первый объект в коллекции.
Возвращаемое значение
booleanРеализация
Cake\View\Form\ContextInterface::isCreate() isPrimaryKey()source public
isPrimaryKey( string $field )
Возвращает true, если переданное имя поля является частью первичного ключа для данного контекста
Параметры
- string
$field Путь с разделителями «точка» к полю, для которого требуется значение.
Возвращаемое значение
booleanРеализация
Cake\View\Form\ContextInterface::isPrimaryKey() isRequired()source public
isRequired( string $field )
Проверить, должно ли поле быть отмечено как обязательное.
Параметры
- string
$field - Путь с разделителями «точка» к полю, которое нужно проверить.
Возвращаемое значение
booleanРеализация
Cake\View\Form\ContextInterface::isRequired() primaryKey()source public
primaryKey( )
Получить данные первичного ключа для контекста.
Получает столбцы первичного ключа из схемы корневой сущности.
Возвращаемое значение
arrayРеализация
Cake\View\Form\ContextInterface::primaryKey() type()source public
type( string $field )
Получить абстрактный тип поля для заданного имени поля.
Параметры
- string
$field - Путь с разделителями «точка» для получения типа схемы.
Возвращаемое значение
null|stringАбстрактный тип данных или null.
См. также
Cake\Database\TypeРеализация
Cake\View\Form\ContextInterface::type() val()source public
val( string $field , array $options = [] )
Получить значение для заданного пути.
Обрабатывает данные сущности и находит значение для $path.
Параметры
- string
$field - Путь с разделителями «точка» к значению.
- array
$optionsнеобязательно [] Параметры: -
default: Значение по умолчанию, которое будет возвращено, если значение не найдено в данных запроса или сущности. -schemaDefault: Булево значение, указывающее, следует ли использовать значение по умолчанию из схемы таблицы, если оно явно не указано.
Возвращаемое значение
mixedЗначение поля или null при отсутствии значения.
Реализация
Cake\View\Form\ContextInterface::val() Методы, используемые из Cake\ORM\Locator\LocatorAwareTrait
getTableLocator()source public
getTableLocator( )
Получить локатор таблиц.
Возвращаемое значение
Cake\ORM\Locator\LocatorInterfacesetTableLocator()source public
setTableLocator( Cake\ORM\Locator\LocatorInterface $tableLocator )
Установить локатор таблиц.
Параметры
-
Cake\ORM\Locator\LocatorInterface$tableLocator - Экземпляр LocatorInterface.
Возвращаемое значение
$this
tableLocator()source public deprecated
tableLocator( Cake\ORM\Locator\LocatorInterface $tableLocator = null )
Установить локатор таблиц. Если параметры не переданы, возвращается текущий локатор.
Устарело
3.5.0 Используйте getTableLocator()/setTableLocator() вместо этого.Параметры
-
Cake\ORM\Locator\LocatorInterface$tableLocatorнеобязательно null - Экземпляр LocatorInterface.
Возвращаемое значение
Cake\ORM\Locator\LocatorInterfaceПодробное описание свойств
$_isCollectionsource
protected boolean
Булево значение, указывающее, является ли сущность коллекцией.
false
© 2005–present 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.6/class-Cake.View.Form.EntityContext.html