Класс EntityContext
Предоставляет контекст формы вокруг отдельной сущности и ее отношений. Также может использоваться в качестве контекста вокруг массива или итератора сущностей.
Этот класс позволяет интерфейсу FormHelper взаимодействовать с сущностями или коллекциями сущностей.
Важные ключи:
-
entityСущность, на которой работает этот контекст. -
tableЛибо экземпляр ORM\Table для извлечения схемы/валидаторов, массив экземпляров таблиц в случае формы, охватывающей несколько сущностей, или имя(а) таблицы. Если это null, имя(а) таблицы будет определено с использованием соглашений об именовании. -
validatorЛибо Validation\Validator для использования, или имя метода валидации для вызова на объекте таблицы. Например, 'default'. По умолчанию 'default'. Может быть массивом alias=>validators для связанных форм.
Постоянные значения
-
array<string>VALID_ATTRIBUTES['length', 'precision', 'comment', 'null', 'default']
Краткое описание свойств
- $_context protected
array<string, mixed>Данные контекста для этого объекта.
- $_isCollection protected
boolЛогическое значение, показывающее, является ли сущность коллекцией.
- $_rootName protected
stringИмя объекта сущности/таблицы верхнего уровня.
- $_tableLocator protected
Cake\ORM\Locator\LocatorInterface|nullЭкземпляр локатора таблиц
- $_tables protected
arrayCake\ORM\Table>Словарь таблиц
- $_validator protected
arrayCake\Validation\Validator>Словарь валидаторов.
- $defaultTable protected
string|nullПсевдоним таблицы по умолчанию для этого объекта.
Краткое описание методов
-
__construct() public
Конструктор.
-
_extractMultiple() protected
Вспомогательный метод, используемый для извлечения всех значений первичного ключа из массива. Столбец первичного ключа определяется по предоставленному массиву $path.
-
_getProp() protected
Чтение значений свойств или обход массивов/итераторов.
-
_getTable() protected
Получение экземпляра таблицы из пути к свойству
-
_getValidator() protected
Получение валидатора, связанного с сущностью, на основе соглашений об именовании.
-
_prepare() protected
Подготовка дополнительных данных из контекста.
-
_schemaDefault() protected
Получение значения по умолчанию из схемы таблицы для заданного поля сущности.
-
attributes() public
Получение ассоциативного массива других атрибутов для имени поля.
-
entity() public
Получение сущности или значения данных для заданного пути
-
error() public
Получение ошибок для заданного поля
-
fetchTable() public
Удобный метод для получения экземпляра таблицы.
-
fieldNames() public
Получение имен полей из сущности верхнего уровня.
-
getMaxLength() public
Получение длины поля из валидации
-
getPrimaryKey() public
Получение данных первичного ключа для контекста.
-
getRequiredMessage() public
Получение сообщения об ошибке по умолчанию "required" для поля
-
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<string, mixed> $context)
Конструктор.
Параметры
-
array<string, mixed>$context Информация о контексте.
_extractMultiple() protected
_extractMultiple(mixed $values, array<string> $path): array|null
Вспомогательный метод для извлечения всех значений первичного ключа из массива. Столбец первичного ключа определяется из массива $path.
Параметры
-
mixed$values Список, из которого извлекаются первичные ключи.
-
array<string>$path Каждый из элементов пути имени поля.
Возвращает
array|null_getProp() protected
_getProp(mixed $target, string $field): mixed
Чтение значений свойств или обход массивов/итераторов.
Параметры
-
mixed$target Сущность/массив/коллекция для извлечения значения $field.
-
string$field Следующее поле для извлечения.
Возвращает
mixed_getTable() protected
_getTable(Cake\Datasource\EntityInterface|array<string>|string $parts, bool $fallback = true): Cake\ORM\Table|null
Получение экземпляра таблицы из пути свойства.
Параметры
-
Cake\Datasource\EntityInterface|array<string>|string$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
Подготовка дополнительных данных из контекста.
Если опция таблицы была предоставлена в конструктор и представляет собой строку, будет использоваться TableLocator для получения правильного экземпляра таблицы.
Если в качестве опции таблицы предоставлен объект, он будет использован как есть.
Если опция таблицы не предоставлена, имя таблицы будет определено на основе соглашений об именовании. Это определение будет работать с рядом распространённых объектов, таких как массивы, объекты Collection и ResultSets.
Возвращает
voidИсключения
RuntimeExceptionПри невозможности найти/определить объект таблицы.
_schemaDefault() protected
_schemaDefault(array<string> $parts): mixed
Получение значения по умолчанию из схемы таблицы для заданного поля сущности.
Параметры
-
array<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 Путь с разделителями «точка» для проверки ошибок.
Возвращает
arrayfetchTable() public
fetchTable(string|null $alias = null, array<string, mixed> $options = []): Cake\ORM\Table
Удобный метод для получения экземпляра таблицы.
Параметры
-
string|null$alias optional Имя псевдонима, которое вы хотите получить. Должно быть в формате CamelCase. Если
nullто используется значение свойства $defaultTable.-
array<string, mixed>$options optional Опции, с которыми вы хотите создать таблицу. Если таблица уже загружена, опции реестра будут проигнорированы.
Возвращает
Cake\ORM\TableИсключения
Cake\Core\Exception\CakeExceptionЕсли аргумент `$alias` и свойство `$defaultTable` оба равны `null`.
См. также
fieldNames() public
fieldNames(): array<string>
Получение имён полей из сущности верхнего уровня.
Если контекст относится к массиву сущностей, будет использоваться индекс 0.
Возвращает
array<string>getMaxLength() public
getMaxLength(string $field): int|null
Получение длины поля из валидации.
Параметры
-
string$field Путь с разделителями «точка» к полю, которое вы хотите проверить.
Возвращает
int|nullgetPrimaryKey() public
getPrimaryKey(): array<string>
Получение данных первичного ключа для контекста.
Получение столбцов первичного ключа из схемы корневой сущности.
Возвращает
array<string>getRequiredMessage() public
getRequiredMessage(string $field): string|null
Получение сообщения об ошибке по умолчанию «обязательное поле» для поля.
Параметры
-
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 необязательно Каждый из элементов пути для имени поля или null, чтобы получить сущность, переданную в контексте конструктора.
Возвращаемое значение
arrayИсключения
RuntimeExceptionПри невозможности чтения свойств.
primaryKey() public
primaryKey(): array<string>
Получить данные первичного ключа для контекста.
Получает столбцы первичного ключа из схемы корневой сущности.
Возвращаемое значение
array<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<string, mixed> $options = []): mixed
Получить значение для заданного пути.
Проходит по данным сущности и находит значение для $path.
Параметры
-
string$field Путь через точки к значению.
-
array<string, mixed>$options необязательно Параметры:
Возвращаемое значение
mixedПодробное описание свойств
$_context protected
Данные контекста для данного объекта.
Тип
array<string, mixed>$_isCollection protected
Булево значение, указывающее, является ли сущность коллекцией.
Тип
bool$_rootName protected
Имя сущности/таблицы верхнего уровня.
Тип
string$_tableLocator protected
Экземпляр локатора таблицы.
Тип
Cake\ORM\Locator\LocatorInterface|null$_tables protected
Словарь таблиц.
Тип
arrayCake\ORM\Table>$_validator protected
Словарь валидаторов.
Тип
arrayCake\Validation\Validator>$defaultTable protected
Псевдоним таблицы по умолчанию для этого объекта.
Тип
string|null
© 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.4/class-Cake.View.Form.EntityContext.html