Класс EntityContext
Предоставляет контекст формы вокруг одной сущности и её связей. Также может использоваться в качестве контекста вокруг массива или итератора сущностей.
Этот класс позволяет интерфейсу FormHelper взаимодействовать с сущностями или коллекциями сущностей.
Важные ключи:
-
entityСущность, на которой работает этот контекст. -
tableЛибо экземпляр ORM\Table для получения схемы/валидаторов, массив экземпляров таблиц в случае формы, охватывающей несколько сущностей, или имя(а) таблицы. Если это null, имя(а) таблицы будет определено с использованием соглашений об именовании. -
validatorЛибо Validation\Validator для использования, либо имя метода валидации, вызываемого на объекте таблицы. Например, 'default'. По умолчанию 'default'. Может быть массивом alias=>validators при работе с связанными формами.
Константы
-
string[]VALID_ATTRIBUTES['length', 'precision', 'comment', 'null', 'default']
Краткое описание свойств
- $_context protected
arrayДанные контекста для этого объекта.
- $_isCollection protected
boolБулево значение для отслеживания того, является ли сущность коллекцией.
- $_rootName protected
stringИмя объекта сущности/таблицы верхнего уровня.
- $_tableLocator protected
Cake\ORM\Locator\LocatorInterface|nullЭкземпляр локатора таблиц
- $_tables protected
Cake\ORM\Table[]Словарь таблиц
- $_validator protected
Cake\Validation\Validator[]Словарь валидаторов.
Краткое описание методов
-
__construct() public
Конструктор.
-
_extractMultiple() protected
Вспомогательный метод, используемый для извлечения всех значений первичного ключа из массива. Столбец первичного ключа угадывается из предоставленного массива $path.
-
_getProp() protected
Чтение значений свойств или обход массивов/итераторов.
-
_getTable() protected
Получение экземпляра таблицы из пути свойства
-
_getValidator() protected
Получение валидатора, связанного с сущностью, на основе соглашений об именовании.
-
_prepare() protected
Подготовка дополнительных данных из контекста.
-
_schemaDefault() protected
Получение значения по умолчанию из схемы таблицы для заданного поля сущности.
-
attributes() public
Получение ассоциативного массива других атрибутов для имени поля.
-
entity() public
Получение сущности или значения данных для заданного пути.
-
error() public
Получение ошибок для заданного поля.
-
fieldNames() public
Получение имён полей из сущности верхнего уровня.
-
getMaxLength() public
Получение длины поля из валидации.
-
getPrimaryKey() public
Получение данных первичного ключа для контекста.
-
getRequiredMessage() public
Получение сообщения об ошибке по умолчанию «обязательное» для поля.
-
getTableLocator() public
Получение локатора таблиц.
-
hasError() public
Проверка наличия ошибки, привязанной к полю.
-
isCreate() public
Проверка того, является ли эта форма созданием или обновлением.
-
isPrimaryKey() public
Возвращает true, если переданное имя поля является частью первичного ключа для этого контекста.
-
isRequired() public
Проверка, должно ли поле быть помечено как обязательное.
-
leafEntity() protected
Получение конечной или листовой сущности для заданного пути.
-
primaryKey() public deprecated
Получение данных первичного ключа для контекста.
-
setTableLocator() public
Установка локатора таблиц.
-
type() public
Получение абстрактного типа поля для заданного имени поля.
-
val() public
Получение значения для заданного пути.
Подробное описание методов
__construct() public
__construct(array $context)
Конструктор.
Параметры
-
array$context Контекстная информация.
_extractMultiple() protected
_extractMultiple(mixed $values, string[] $path): array|null
Вспомогательный метод, используемый для извлечения всех значений первичного ключа из массива. Столбец первичного ключа определяется из предоставленного массива $path.
Параметры
-
mixed$values Список, из которого нужно извлечь первичные ключи.
-
string[]$path Каждая из частей пути для имени поля.
Возвращает
array|null_getProp() protected
_getProp(mixed $target, string $field): mixed
Чтение значений свойств или обход массивов/итераторов.
Параметры
-
mixed$target Сущность/массив/коллекция, из которой нужно получить $field.
-
string$field Следующее поле для получения.
Возвращает
mixed_getTable() protected
_getTable(string[]|stringCake\Datasource\EntityInterface $parts, bool $fallback = true): Cake\ORM\Table|null
Получение экземпляра таблицы по пути к свойству.
Параметры
-
string[]|stringCake\Datasource\EntityInterface$parts Каждая из частей пути для имени поля.
-
bool$fallback optional Необходимо ли возвращать последнюю найденную таблицу, когда встречается несуществующее поле/свойство.
Возвращает
Cake\ORM\Table|null_getValidator() protected
_getValidator(array $parts): Cake\Validation\Validator
Получение валидатора, связанного с сущностью на основе соглашений об именовании.
Параметры
-
array$parts Каждая из частей пути для имени поля.
Возвращает
Cake\Validation\ValidatorВыбрасывает
RuntimeExceptionЕсли валидатор не может быть получен на основе частей.
_prepare() protected
_prepare(): void
Подготовка дополнительных данных из контекста.
Если параметр table был передан в конструктор и являлся строкой, TableLocator будет использован для получения правильного экземпляра таблицы.
Если в качестве параметра table передан объект, он будет использован как есть.
Если параметр table не передан, имя таблицы будет выведено на основе соглашений об именовании. Это выведение будет работать с рядом распространенных объектов, таких как массивы, объекты Collection и ResultSets.
Возвращает
voidВыбрасывает
RuntimeExceptionКогда объект таблицы не может быть найден/выведен.
_schemaDefault() protected
_schemaDefault(string[] $parts): mixed
Получение значения по умолчанию из схемы таблицы для заданного поля сущности.
Параметры
-
string[]$parts Каждая из частей пути для имени поля.
Возвращает
mixedattributes() public
attributes(string $field): array
Получение ассоциативного массива других атрибутов для имени поля.
Параметры
-
string$field Путь, разделенный точками, для получения дополнительных данных.
Возвращает
arrayentity() public
entity(array|null $path = null): Cake\Datasource\EntityInterface|iterable|null
Получение сущности или значения данных для заданного пути.
Этот метод будет обходить заданный путь и находить сущность или значение массива для заданного пути.
Если вам нужна только конечная сущность для пути, используйте leafEntity вместо этого.
Параметры
-
array|null$path optional Каждая из частей пути для имени поля или null для получения сущности, переданной в контексте конструктора.
Возвращает
Cake\Datasource\EntityInterface|iterable|nullВыбрасывает
RuntimeExceptionКогда свойства не могут быть прочитаны.
error() public
error(string $field): array
Получение ошибок для заданного поля.
Параметры
-
string$field Путь, разделенный точками, для проверки ошибок.
Возвращает
arrayfieldNames() public
fieldNames(): string[]
Получение имен полей из сущности верхнего уровня.
Если контекст предназначен для массива сущностей, будет использоваться 0-й индекс.
Возвращает
string[]getMaxLength() public
getMaxLength(string $field): int|null
Получение длины поля из валидации.
Параметры
-
string$field Путь, разделенный точками, к полю, которое вы хотите проверить.
Возвращает
int|nullgetPrimaryKey() public
getPrimaryKey(): string[]
Получение данных первичного ключа для контекста.
Получает столбцы первичного ключа из схемы корневой сущности.
Возвращает
string[]getRequiredMessage() public
getRequiredMessage(string $field): string|null
Получает сообщение об ошибке "required" по умолчанию для поля.
Параметры
-
string$field
Возвращает
string|nullgetTableLocator() public
getTableLocator(): Cake\ORM\Locator\LocatorInterface
Получает локатор таблицы.
Возвращает
Cake\ORM\Locator\LocatorInterfacehasError() public
hasError(string $field): bool
Проверка наличия ошибки, прикрепленной к полю.
Параметры
-
string$field Путь, разделенный точками, для проверки ошибок.
Возвращает
boolisCreate() public
isCreate(): bool
Проверка, является ли эта форма операцией создания или обновления.
Если контекст относится к одной сущности, будет использоваться метод isNew() сущности. Если isNew() возвращает null, будет предполагаться операция создания.
Если контекст относится к коллекции или массиву, будет использоваться первый объект в коллекции.
Возвращает
boolisPrimaryKey() public
isPrimaryKey(string $field): bool
Возвращает true, если переданное имя поля является частью первичного ключа для этого контекста.
Параметры
-
string$field
Возвращает
boolisRequired() public
isRequired(string $field): bool|null
Проверка, должно ли поле быть помечено как обязательное.
В этом контекстном классе это просто определяется массивом 'required'.
Параметры
-
string$field Путь, разделенный точками, к полю, которое вы хотите проверить.
Возвращает
bool|nullleafEntity() protected
leafEntity(array|null $path = null): array
Получение конечной или лиственной сущности для заданного пути.
Обход пути до тех пор, пока сущность не будет найдена. Списки, содержащие сущности, будут пройдены, если первый элемент содержит сущность. В противном случае предполагается, что содержащая сущность является конечной.
Параметры
-
array|null$path optional Каждая из частей пути для имени поля или null для получения сущности, переданной в контексте конструктора.
Возвращает
arrayВыбрасывает
RuntimeExceptionКогда свойства не могут быть прочитаны.
primaryKey() public
primaryKey(): string[]
Получить данные первичного ключа для контекста.
Получает столбцы первичного ключа из схемы корневого сущности.
Возвращает
string[]setTableLocator() public
setTableLocator(Cake\ORM\Locator\LocatorInterface $tableLocator): $this
Устанавливает локатор таблицы.
Параметры
-
Cake\ORM\Locator\LocatorInterface$tableLocator Экземпляр LocatorInterface.
Возвращает
$thistype() public
type(string $field): string|null
Получить абстрактный тип поля для заданного имени поля.
Параметры
-
string$field Путь через точки для получения типа схемы.
Возвращает
string|nullСм. также
val() public
val(string $field, array $options = []): mixed
Получить значение для заданного пути.
Проходит по данным сущности и находит значение для $path.
Параметры
-
string$field Путь через точки к значению.
-
array$options optional Параметры:
Возвращает
mixedПодробное описание свойств
$_context protected
Данные контекста для этого объекта.
Тип
array$_isCollection protected
Булево значение для отслеживания, является ли сущность коллекцией.
Тип
bool$_rootName protected
Имя объекта сущности/таблицы верхнего уровня.
Тип
string$_tableLocator protected
Экземпляр локатора таблицы
Тип
Cake\ORM\Locator\LocatorInterface|null$_tables protected
Словарь таблиц
Тип
Cake\ORM\Table[]$_validator protected
Словарь валидаторов.
Тип
Cake\Validation\Validator[]
© 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/4.2/class-Cake.View.Form.EntityContext.html