Класс Сущность
Сущность представляет собой одну строку результата из репозитория. Она предоставляет методы для получения и сохранения свойств, связанных в этой строке.
Краткое описание свойств
- $_accessible защищенное
bool[]Карта полей в этой сущности, которые можно безопасно назначить; каждое имя поля указывает на булево значение, указывающее его статус. Пустой массив означает, что поля недоступны.
- $_accessors защищенное статическое
arrayСодержит кэшированный список методов доступа (getter/setter) на класс.
- $_dirty защищенное
bool[]Содержит список полей, которые были изменены или добавлены после первоначального создания этого объекта.
- $_errors защищенное
arrayСписок ошибок по полю, как хранится в этом объекте.
- $_fields защищенное
arrayСодержит все поля и их значения для этой сущности.
- $_hidden защищенное
string[]Список имён полей, которые не должны включаться в JSON или массивы представлений этой сущности.
- $_invalid защищенное
arrayСписок невалидных полей и их данных для ошибок при валидации/патчинге.
- $_new защищенное
boolУказывает, сохранена ли сущность или нет. Сущности по умолчанию предполагают, что они новые. Вы можете использовать Table::persisted() для установки флага new на сущности на основе записей в базе данных.
- $_original защищенное
arrayСодержит все изменённые поля и их исходные значения для этой сущности.
- $_registryAlias защищенное
stringПсевдоним репозитория, из которого пришла эта сущность.
- $_virtual защищенное
string[]Список вычисляемых или виртуальных полей, которые должны быть включены в JSON или массивы представлений этой сущности. Если поле присутствует как в _hidden, так и в _virtual, поле не будет в массиве/JSON-версиях сущности.
- $id общедоступное @property
mixedПсевдоним для часто используемого первичного ключа.
Краткое описание методов
-
__construct() public
Инициализирует внутренние свойства этого объекта на основе ключей в массиве. Можно использовать следующие параметры:
-
__debugInfo() public
Возвращает массив, который можно использовать для описания внутреннего состояния этого объекта.
-
__get() public
Магический геттер для доступа к установленным полям этого объекта.
-
__isset() public
Возвращает, содержит ли этот объект поле с именем $field, независимо от того, пусто ли оно.
-
__set() public
Магический сеттер для добавления или изменения поля в этом объекте.
-
__toString() public
Возвращает строковое представление этого объекта в удобочитаемом формате.
-
__unset() public
Удаляет поле из этого объекта.
-
_accessor() protected static
Получение имени метода доступа. Методы доступа (доступные или нет) кэшируются в $_accessors
-
_nestedErrors() protected
Вспомогательный метод для получения ошибок во вложенных объектах.
-
_readError() protected
Чтение ошибки(ошибок) из одного или нескольких объектов.
-
_readHasErrors() protected
Чтение наличия ошибок для одного или нескольких объектов.
-
clean() public
Помечает весь объект как чистый, что означает, что он будет отображаться как будто никакие поля не изменялись или не добавлялись. Этот метод полезен для начальной загрузки объекта.
-
extract() public
Возвращает массив с запрошенными полями, хранящимися в этом объекте, индексированными по имени поля.
-
extractOriginal() public
Возвращает массив с исходными значениями запрошенных полей, хранящихся в этом объекте, индексированными по имени поля.
-
extractOriginalChanged() public
Возвращает массив только с исходными значениями изменённых полей, хранящихся в этом объекте, индексированными по имени поля.
-
get() public
Возвращает значение поля по имени.
-
getAccessible() public
Возвращает конфигурацию доступа к полям для этого объекта в сыром виде. Подстановочный знак
*относится ко всем полям. -
getDirty() public
Получает изменённые поля.
-
getError() public
Возвращает ошибки валидации для поля.
-
getErrors() public
Возвращает все ошибки валидации.
-
getHidden() public
Получает скрытые поля.
-
getInvalid() public
Получает список невалидных полей и их данных для ошибок при валидации/обновлении.
-
getInvalidField() public
Получает отдельное значение невалидного поля. Возвращает null, если не задано.
-
getOriginal() public
Возвращает значение исходного поля по имени.
-
getOriginalValues() public
Получает все исходные значения объекта.
-
getSource() public
Возвращает псевдоним репозитория, из которого был получен этот объект.
-
getVirtual() public
Получает виртуальные поля этого объекта.
-
getVisible() public
Получает список видимых полей.
-
has() public
Возвращает, содержит ли этот объект поле с именем $field, содержащее ненулевое значение.
-
hasErrors() public
Возвращает, есть ли ошибки у этого объекта.
-
hasValue() public
Проверяет, имеет ли поле значение.
-
isAccessible() public
Проверяет доступность поля.
-
isDirty() public
Проверяет, является ли объект изменённым или является ли конкретное поле изменённым.
-
isEmpty() public
Проверяет, пусто ли поле.
-
isNew() public
Возвращает, был ли этот объект уже сохранён.
-
jsonSerialize() public
Возвращает поля, которые будут сериализованы как JSON.
-
offsetExists() public
Реализует isset($объект);
-
offsetGet() public
Реализует $объект[$оффсет];
-
offsetSet() public
Реализует $объект[$оффсет] = $значение;
-
offsetUnset() public
Реализует unset($результат[$оффсет]);
-
set() public
Устанавливает значение одного поля в этом объекте.
-
setAccess() public
Устанавливает доступность поля для изменения или установки в этом объекте. Специальное поле
*также может быть помечено как доступное или защищенное, что означает, что любое другое указанное ранее поле примет его значение. Например,$entity->setAccess('*', true)означает, что любое не указанное поле будет по умолчанию доступно. -
setDirty() public
Устанавливает статус изменения для отдельного поля.
-
setError() public
Устанавливает ошибки для отдельного поля.
-
setErrors() public
Устанавливает сообщения об ошибках для объекта.
-
setHidden() public
Устанавливает скрытые поля.
-
setInvalid() public
Помечает поля как невалидные и неподлежащие изменению в объекте.
-
setInvalidField() public
Помечает поле как невалидное и неподлежащее изменению в объекте.
-
setNew() public
Установить статус этого сущности.
-
setSource() public
Устанавливает псевдоним источника
-
setVirtual() public
Устанавливает виртуальные поля в этой сущности.
-
toArray() public
Возвращает массив со всеми полями, которые были установлены для этой сущности
-
unset() public
Удаляет поле или список полей из этой сущности
-
unsetProperty() public deprecated
Удаляет поле или список полей из этой сущности
Краткое описание методов
__construct() public
__construct(array $properties = [], array $options = [])
Инициализирует внутренние свойства этой сущности на основе ключей в массиве. Можно использовать следующие параметры:
- useSetters: использовать ли внутренние сеттеры для свойств или нет
- markClean: помечать ли все свойства как чистые после их установки
- markNew: является ли этот экземпляр ещё не сохранённым
- guard: предотвращать ли установку недоступных свойств (по умолчанию: false)
- source: строка, представляющая псевдоним репозитория, из которого получена эта сущность
Пример:
$entity = new Entity(['id' => 1, 'name' => 'Andrew'])
Параметры
-
array$properties optional хэш свойств для установки в этой сущности
-
array$options optional список параметров для использования при создании этой сущности
__debugInfo() public
__debugInfo(): array
Возвращает массив, который можно использовать для описания внутреннего состояния этого объекта.
Возвращает
array__get() public
__get(string $field): mixed
Магический геттер для доступа к полям, которые были установлены в этой сущности
Параметры
-
string$field Имя поля для доступа
Возвращает
mixed__isset() public
__isset(string $field): bool
Возвращает, содержит ли эта сущность поле с именем $field независимо от того, пустое оно или нет.
Параметры
-
string$field Поле для проверки.
Возвращает
boolСм. также
__set() public
__set(string $field, mixed $value): void
Магический сеттер для добавления или редактирования поля в этой сущности
Параметры
-
string$field Имя поля для установки
-
mixed$value Значение для установки в поле
Возвращает
void__toString() public
__toString(): string
Возвращает строковое представление этого объекта в удобочитаемом формате.
Возвращает
string__unset() public
__unset(string $field): void
Удаляет поле из этой сущности
Параметры
-
string$field Поле для удаления
Возвращает
void_accessor() protected static
_accessor(string $property, string $type): string
Получение имени метода доступа. Методы доступа (доступные или нет) кэшируются в $_accessors
Параметры
-
string$property имя поля для получения имени геттера
-
string$type тип доступа ('get' или 'set')
Возвращает
string_nestedErrors() protected
_nestedErrors(string $field): array
Вспомогательный метод для получения ошибок во вложенных сущностях
Параметры
-
string$field поле в этой сущности для проверки на ошибки
Возвращает
array_readError() protected
_readError(iterableCake\Datasource\EntityInterface $object, string|null $path = null): array
Считывает ошибку(и) из одного или нескольких объектов.
Параметры
-
iterableCake\Datasource\EntityInterface$object Объект, из которого нужно прочитать ошибки.
-
string|null$path optional Имя поля для ошибок.
Возвращает
array_readHasErrors() protected
_readHasErrors(arrayCake\Datasource\EntityInterface $object): bool
Проверяет наличие ошибок для одного или нескольких объектов.
Параметры
-
arrayCake\Datasource\EntityInterface$object Объект, из которого нужно прочитать ошибки.
Возвращает
boolclean() public
clean(): void
Помечает всю сущность как чистую, что означает, что она будет выглядеть так, как будто поля не были изменены или добавлены. Это полезный вызов для начальной гидратации объекта
Возвращает
voidextract() public
extract(string[] $fields, bool $onlyDirty = false): array
Возвращает массив с запрошенными полями, хранящимися в этой сущности, проиндексированный по имени поля
Параметры
-
string[]$fields список полей для возврата
-
bool$onlyDirty optional Возвращать запрошенное поле только если оно изменено
Возвращает
arrayextractOriginal() public
extractOriginal(string[] $fields): array
Возвращает массив с запрошенными исходными полями, хранящимися в этой сущности, проиндексированный по имени поля.
Поля, которые не изменились по сравнению с их исходным значением, будут включены в результат этого метода.
Параметры
-
string[]$fields Список полей для возврата
Возвращает
arrayextractOriginalChanged() public
extractOriginalChanged(string[] $fields): array
Возвращает массив только с исходными полями, хранящимися в этой сущности, проиндексированный по имени поля.
Этот метод будет возвращать только поля, которые были изменены с момента создания сущности. Неизмененные поля будут опущены.
Параметры
-
string[]$fields Список полей для возврата
Возвращает
arrayget() public
get(string $field): mixed
Возвращает значение поля по имени
Параметры
-
string$field имя поля для получения
Возвращает
mixedВыбрасывает
InvalidArgumentExceptionесли передано пустое имя поля
getAccessible() public
getAccessible(): bool[]
Возвращает необработанную конфигурацию доступности для этой сущности. Шаблон * относится ко всем полям.
Возвращает
bool[]getDirty() public
getDirty(): string[]
Получает изменённые поля.
Возвращает
string[]getError() public
getError(string $field): array
Возвращает ошибки валидации поля
Параметры
-
string$field Имя поля, из которого нужно получить ошибки
Возвращает
arraygetErrors() public
getErrors(): array
Возвращает все ошибки валидации.
Возвращает
arraygetHidden() public
getHidden(): string[]
Получает скрытые поля.
Возвращает
string[]getInvalid() public
getInvalid(): array
Получает список недопустимых полей и их данных для ошибок при валидации/патчинге
Возвращает
arraygetInvalidField() public
getInvalidField(string $field): mixed|null
Получить единственное значение невалидного поля. Возвращает null, если не задано.
Параметры
-
string$field Имя поля.
Возвращает
mixed|nullgetOriginal() public
getOriginal(string $field): mixed
Возвращает значение исходного поля по имени
Параметры
-
string$field имя поля, для которого извлекается исходное значение.
Возвращает
mixedИсключения
InvalidArgumentExceptionесли передано пустое имя поля.
getOriginalValues() public
getOriginalValues(): array
Получает все исходные значения сущности.
Возвращает
arraygetSource() public
getSource(): string
Возвращает псевдоним репозитория, из которого эта сущность была получена.
Возвращает
stringgetVirtual() public
getVirtual(): string[]
Получает виртуальные поля этой сущности.
Возвращает
string[]getVisible() public
getVisible(): string[]
Получает список видимых полей.
Список видимых полей включает все стандартные поля, плюс виртуальные поля, минус скрытые поля.
Возвращает
string[]has() public
has(string|string[] $field): bool
Возвращает, содержит ли эта сущность поле с именем $field, которое содержит не нулевое значение.
Пример:
$entity = new Entity(['id' => 1, 'name' => null]);
$entity->has('id'); // true
$entity->has('name'); // false
$entity->has('last_name'); // false Вы можете проверить несколько полей, передав массив:
$entity->has(['name', 'last_name']);
Все поля должны быть не null, чтобы получить результат true.
При проверке нескольких полей все поля должны быть не null для возврата true.
Параметры
-
string|string[]$field Поле или поля для проверки.
Возвращает
boolhasErrors() public
hasErrors(bool $includeNested = true): bool
Возвращает, содержит ли эта сущность ошибки.
Параметры
-
bool$includeNested optional true проверит вложенные сущности на наличие ошибок.
Возвращает
boolhasValue() public
hasValue(string $field): bool
Проверяет, имеет ли поле значение.
Этот метод вернет true для
- Непустых строк
- Непустых массивов
- Любого объекта
- Целых чисел, даже
0 - Вещественных чисел, даже 0.0
и false во всех остальных случаях.
Параметры
-
string$field Поле для проверки.
Возвращает
boolisAccessible() public
isAccessible(string $field): bool
Проверяет, доступно ли поле
Пример:
$entity->isAccessible('id'); // Returns whether it can be set or not Параметры
-
string$field Имя поля для проверки
Возвращает
boolisDirty() public
isDirty(string|null $field = null): bool
Проверяет, является ли сущность грязной или грязным ли является отдельное поле.
Параметры
-
string|null$field optional Поле для проверки статуса. Null для всей сущности.
Возвращает
boolisEmpty() public
isEmpty(string $field): bool
Проверяет, пустое ли поле
Этот метод не работает так же, как функция PHP empty(). Метод вернет true для:
-
''(пустая строка) null[]
и false во всех остальных случаях.
Параметры
-
string$field Поле для проверки.
Возвращает
boolisNew() public
isNew(): bool
Возвращает, была ли эта сущность уже сохранена.
Возвращает
booljsonSerialize() public
jsonSerialize(): array
Возвращает поля, которые будут сериализованы как JSON
Возвращает
arrayoffsetExists() public
offsetExists(string $offset): bool
Реализует isset($entity);
Параметры
-
string$offset Смещение для проверки.
Возвращает
booloffsetGet() public
offsetGet(string $offset): mixed
Реализует $entity[$offset];
Параметры
-
string$offset Смещение для получения.
Возвращает
mixedoffsetSet() public
offsetSet(string $offset, mixed $value): void
Реализует $entity[$offset] = $value;
Параметры
-
string$offset Смещение для установки.
-
mixed$value Значение для установки.
Возвращает
voidoffsetUnset() public
offsetUnset(string $offset): void
Реализует unset($result[$offset]);
Параметры
-
string$offset Смещение для удаления.
Возвращает
voidset() public
set(string|array $field, mixed $value = null, array $options = []): $this
Устанавливает отдельное поле внутри этой сущности.
Пример:
$entity->set('name', 'Andrew'); Также возможно массовое присваивание нескольких полей этой сущности одним вызовом, передав хэшированный массив в виде пар поле => значение
Пример:
$entity->set(['name' => 'andrew', 'id' => 1]); echo $entity->name // prints andrew echo $entity->id // prints 1
Иногда удобно обойти функции-сеттеры в этой сущности при присваивании полей. Это можно сделать, отключив опцию setter с помощью параметра $options:
$entity->set('name', 'Andrew', ['setter' => false]);
$entity->set(['name' => 'Andrew', 'id' => 1], ['setter' => false]); Массовое присваивание следует использовать осторожно при приеме пользовательского ввода; по умолчанию сущности будут защищать все поля при массовом присваивании. Вы можете отключить защиту для одного вызова set с помощью опции guard:
$entity->set(['name' => 'Andrew', 'id' => 1], ['guard' => false]);
Вам не нужно использовать опцию защиты при индивидуальном присваивании полей:
// No need to use the guard option.
$entity->set('name', 'Andrew'); Параметры
-
string|array$field имя устанавливаемого поля или список полей с соответствующими значениями
-
mixed$value optional Значение, которое нужно установить для поля, или массив, если первый аргумент также является массивом, в этом случае он будет обрабатываться как $options
-
array$options optional опции для использования при установке поля. Допустимые ключи опций -
setterиguard
Возвращает
$thisИсключения
InvalidArgumentExceptionsetAccess() public
setAccess(string|array $field, bool $set): $this
Хранит информацию о том, можно ли изменить или установить значение поля в этом объекте. Специальное поле * также может быть помечено как доступное или защищенное, что означает, что любое другое указанное ранее поле примет его значение. Например, $entity->setAccess('*', true) означает, что любое не указанное ранее поле будет доступно по умолчанию.
Вы также можете вызвать этот метод с массивом полей, в этом случае каждое из них примет значение доступности, указанное во втором аргументе.
Пример:
$entity->setAccess('id', true); // Mark id as not protected
$entity->setAccess('author_id', false); // Mark author_id as protected
$entity->setAccess(['id', 'user_id'], true); // Mark both fields as accessible
$entity->setAccess('*', false); // Mark all fields as protected Параметры
-
string|array$field Одно или список полей, для изменения доступа
-
bool$set True отмечает поле как доступное, false — как защищенное.
Возвращает
$thissetDirty() public
setDirty(string $field, bool $isDirty = true): $this
Устанавливает статус «изменён» для отдельного поля.
Параметры
-
string$field поле, для установки или проверки статуса
-
bool$isDirty optional true — поле было изменено, false — не было изменено. По умолчанию true.
Возвращает
$thissetError() public
setError(string $field, string|array $errors, bool $overwrite = false): $this
Устанавливает ошибки для отдельного поля
Пример
// Sets the error messages for a single field
$entity->setError('salary', ['must be numeric', 'must be a positive number']); Параметры
-
string$field Поле, для получения ошибок, или массив ошибок для установки.
-
string|array$errors Ошибки, которые нужно установить для $field
-
bool$overwrite optional Заменить ли существующие ошибки для $field
Возвращает
$thissetErrors() public
setErrors(array $errors, bool $overwrite = false): $this
Устанавливает сообщения об ошибках для объекта
Пример
// Sets the error messages for multiple fields at once $entity->setErrors(['salary' => ['message'], 'name' => ['another message']]);
Параметры
-
array$errors Массив ошибок для установки.
-
bool$overwrite optional Заменить ли существующие ошибки для $fields
Возвращает
$thissetHidden() public
setHidden(string[] $fields, bool $merge = false): $this
Устанавливает скрытые поля.
Параметры
-
string[]$fields Массив полей для скрытия из экспорта массива.
-
bool$merge optional Объединить новые поля с существующими. По умолчанию false.
Возвращает
$thissetInvalid() public
setInvalid(array $fields, bool $overwrite = false): $this
Отмечает поля как недопустимые и не подлежащие корректировке в объекте.
Это полезно для пакетных операций, когда необходимо получить исходное значение для сообщения об ошибке после исправления. Это значение не может быть исправлено в объекте и просто копируется в свойство _invalid для отладки или для записи в журнал.
Параметры
-
array$fields Значения для установки.
-
bool$overwrite optional Заменить ли существующие значения для $field.
Возвращает
$thissetInvalidField() public
setInvalidField(string $field, mixed $value): $this
Отмечает поле как недопустимое и не подлежащее корректировке в объекте.
Параметры
-
string$field Значение для установки.
-
mixed$value Недопустимое значение для установки для $field.
Возвращает
$thissetNew() public
setNew(bool $new): $this
Устанавливает статус этого объекта.
Использование true означает, что объект не был сохранен в базе данных, false что он уже есть.
Параметры
-
bool$new Указывает, был ли этот объект сохранён.
Возвращает
$thissetSource() public
setSource(string $alias): $this
Устанавливает псевдоним источника
Параметры
-
string$alias Псевдоним репозитория
Возвращает
$thissetVirtual() public
setVirtual(string[] $fields, bool $merge = false): $this
Устанавливает виртуальные поля в этом объекте.
Параметры
-
string[]$fields Массив полей, которые следует рассматривать как виртуальные.
-
bool$merge optional Объединить новые поля с существующими. По умолчанию false.
Возвращает
$thistoArray() public
toArray(): array
Возвращает массив со всеми полями, которые были установлены в этом объекте
Этот метод также рекурсивно преобразует объекты, присвоенные полям, в массивы.
Возвращает
arrayunset() public
unset(string|string[] $field): $this
Удаляет поле или список полей из этого объекта
Примеры:
$entity->unset('name');
$entity->unset(['name', 'last_name']); Параметры
-
string|string[]$field Поле для удаления.
Возвращает
$thisunsetProperty() public
unsetProperty(string|string[] $field): $this
Удаляет поле или список полей из этого объекта
Параметры
-
string|string[]$field Поле для удаления.
Возвращает
$thisПодробное описание свойства
$_accessible protected
Карта полей в этом объекте, которые можно безопасно присваивать; каждое имя поля указывает на булево значение, обозначающее его статус. Пустой массив означает, что нет доступных полей.
Также может быть отображено специальное поле «*», означающее, что любое другое поле, не определенное в карте, получит соответствующее значение. Например, '*' => true означает, что любое поле, не определенное в карте, будет по умолчанию доступно.
Тип
bool[]$_accessors protected static
Содержит кэшированный список геттеров/сеттеров на класс.
Тип
array$_dirty protected
Содержит список полей, которые были изменены или добавлены после создания этого объекта.
Тип
bool[]$_errors protected
Список ошибок по полям, сохраненных в этом объекте.
Тип
array$_fields protected
Содержит все поля и их значения для данного объекта.
Тип
array$_hidden protected
Список имен полей, которые не должны включаться в JSON или массивы представлений этого объекта.
Тип
string[]$_invalid protected
Список недопустимых полей и их данных для ошибок при валидации/замене.
Тип
array$_new protected
Указывает, сохранен ли этот объект. Объекты по умолчанию считаются новыми. Вы можете использовать Table::persisted() для установки флага «новый» на объекте на основе записей в базе данных.
Тип
bool$_original protected
Содержит все изменённые поля и их исходные значения для данного объекта.
Тип
array$_registryAlias protected
Псевдоним репозитория, из которого этот объект был получен.
Тип
string$_virtual protected
Список вычисляемых или виртуальных полей, которые должны быть включены в JSON или массивы представлений этого объекта. Если поле присутствует как в _hidden, так и в _virtual, поле не будет включено в массив/JSON-представление объекта.
Тип
string[]$id public @property
Псевдоним для часто используемого первичного ключа.
Тип
mixed
© 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.ORM.Entity.html