Spec-Zone.ru › CakePHP 4.3

Класс Entity

Сущность представляет собой одну строку результата из репозитория. Она предоставляет методы для извлечения и сохранения свойств, связанных в этой строке.

Пространство имён: Cake\ORM

Краткое описание свойств

  • $_accessible protected
    array<bool>

    Карта полей в этой сущности, которые можно безопасно назначить, каждое имя поля указывает на булево значение, указывающее его состояние. Пустой массив означает, что нет доступных полей.

  • $_accessors protected static
    array<string, array<string, array<string, string>>>

    Хранит кэшированный список геттеров/сеттеров на класс.

  • $_dirty protected
    array<bool>

    Хранит список полей, которые были изменены или добавлены после того, как этот объект был первоначально создан.

  • $_errors protected
    array<string, mixed>

    Список ошибок для каждого поля, как хранится в этом объекте.

  • $_fields protected
    array<string, mixed>

    Хранит все поля и их значения для этой сущности.

  • $_hidden protected
    array<string>

    Список имён полей, которые не должны включаться в JSON или массивы, представляющие эту сущность.

  • $_invalid protected
    array<string, mixed>

    Список недопустимых полей и их данных для ошибок при валидации/патчинге.

  • $_new protected
    bool

    Указывает, является ли эта сущность ещё не сохранённой. Сущности по умолчанию предполагают, что они новые. Вы можете использовать Table::persisted(), чтобы установить флаг нового для сущности, основываясь на записях в базе данных.

  • $_original protected
    array<string, mixed>

    Хранит все поля, которые были изменены, и их исходные значения для этой сущности.

  • $_registryAlias protected
    string

    Псевдоним репозитория, из которого пришла эта сущность.

  • $_virtual protected
    array<string>

    Список вычисляемых или виртуальных полей, которые должны быть включены в JSON или массивы, представляющие эту сущность. Если поле присутствует как в _hidden, так и в _virtual, поле не будет присутствовать в массивах/JSON-представлениях сущности.

  • $id public @property
    mixed

    Псевдоним для часто используемого первичного ключа.

Краткое описание методов

  • __construct() public

    Инициализирует внутренние свойства этого объекта на основе ключей в массиве. Можно использовать следующие параметры:

  • __debugInfo() public

    Возвращает массив, который можно использовать для описания внутреннего состояния этого объекта.

  • __get() public

    Магический геттер для доступа к полям, которые были установлены в этом объекте.

  • __isset() public

    Возвращает, содержит ли этот объект поле с именем $field и не установлено ли оно в null.

  • __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, содержащее не-null значение.

  • hasErrors() public

    Возвращает, содержит ли этот объект ошибки.

  • hasValue() public

    Проверяет, содержит ли поле значение.

  • isAccessible() public

    Проверяет, доступно ли поле.

  • isDirty() public

    Проверяет, является ли объект или отдельное поле грязным.

  • isEmpty() public

    Проверяет, пусто ли поле.

  • isNew() public

    Возвращает, был ли этот объект уже сохранён.

  • jsonSerialize() public

    Возвращает поля, которые будут сериализованы как JSON.

  • offsetExists() public

    Реализует isset($entity);

  • offsetGet() public

    Реализует $entity[$offset];

  • offsetSet() public

    Реализует $entity[$offset] = $value;

  • offsetUnset() public

    Реализует unset($result[$offset]);

  • 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<string, mixed> $properties = [], array<string, mixed> $options = [])

Инициализирует внутренние свойства этого сущности из ключей в массиве. Можно использовать следующие параметры:

  • useSetters: использовать ли внутренние сеттеры для свойств
  • markClean: пометить ли все свойства как чистые после их установки
  • markNew: указывает ли этот экземпляр на то, что он ещё не был сохранён
  • guard: предотвращать ли установку недоступных свойств (по умолчанию: false)
  • source: строка, представляющая псевдоним репозитория, из которого пришла эта сущность

Пример:

$entity = new Entity(['id' => 1, 'name' => 'Andrew'])

Параметры

array<string, mixed> $properties optional

хеш свойств для установки в этой сущности

array<string, mixed> $options optional

список параметров для использования при создании этой сущности

__debugInfo() public

__debugInfo(): array<string, mixed>

Возвращает массив, который может быть использован для описания внутреннего состояния этого объекта.

Возвращает

array<string, mixed>

__get() public

__get(string $field): mixed

Магический геттер для доступа к полям, которые были установлены в этой сущности

Параметры

string $field

Имя поля для доступа

Возвращает

mixed

__isset() public

__isset(string $field): bool

Возвращает, содержит ли эта сущность поле с именем $field и не установлено ли оно в null.

Параметры

string $field

Проверяемое поле.

Возвращает

bool

См. также

\Cake\ORM\Entity::has()

__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(Cake\Datasource\EntityInterface|iterable $object, string|null $path = null): array

Чтение ошибки(ошибок) из одного или нескольких объектов.

Параметры

Cake\Datasource\EntityInterface|iterable $object

Объект для чтения ошибок.

string|null $path optional

Имя поля для ошибок.

Возвращает

array

_readHasErrors() protected

_readHasErrors(Cake\Datasource\EntityInterface|array $object): bool

Проверка на наличие ошибок для одного или нескольких объектов.

Параметры

Cake\Datasource\EntityInterface|array $object

Объект для проверки на наличие ошибок.

Возвращает

bool

clean() public

clean(): void

Помечает всю сущность как чистую, что означает, что все поля будут отображаться как не изменённые. Полезно при начальной загрузке объекта.

Возвращает

void

extract() public

extract(array<string> $fields, bool $onlyDirty = false): array

Возвращает массив с запрошенными полями, хранящимися в этой сущности, индексированными по имени поля.

Параметры

array<string> $fields

список полей для возврата

bool $onlyDirty optional

Возвращать запрошенное поле только если оно изменено

Возвращает

array

extractOriginal() public

extractOriginal(array<string> $fields): array

Возвращает массив с исходными запрошенными полями, хранящимися в этой сущности, индексированными по имени поля.

Поля, которые не изменены с момента их первоначального значения, будут включены в результат этого метода.

Параметры

array<string> $fields

Список полей для возврата

Возвращает

array

extractOriginalChanged() public

extractOriginalChanged(array<string> $fields): array

Возвращает массив только с исходными полями, хранящимися в этой сущности, индексированными по имени поля.

Этот метод возвращает только поля, которые были изменены с момента создания сущности. Неизменённые поля будут исключены.

Параметры

array<string> $fields

Список полей для возврата

Возвращает

array

get() public

get(string $field): mixed

Возвращает значение поля по имени.

Параметры

string $field

имя поля для извлечения

Возвращает

mixed

Выбрасывает

InvalidArgumentException
если передано пустое имя поля

getAccessible() public

getAccessible(): array<bool>

Возвращает необработанную конфигурацию доступа к этой сущности. * wildcard относится ко всем полям.

Возвращает

array<bool>

getDirty() public

getDirty(): array<string>

Получает изменённые поля.

Возвращает

array<string>

getError() public

getError(string $field): array

Возвращает ошибки валидации поля.

Параметры

string $field

Имя поля для получения ошибок

Возвращает

array

getErrors() public

getErrors(): array

Возвращает все ошибки валидации.

Возвращает

array

getHidden() public

getHidden(): array<string>

Получает скрытые поля.

Возвращает

array<string>

getInvalid() public

getInvalid(): array

Получает список недопустимых полей и их данных для ошибок при валидации/патчинге.

Возвращает

array

getInvalidField() public

getInvalidField(string $field): mixed|null

Получить единственное значение недопустимого поля. Возвращает null, если не задано.

Параметры

string $field

Имя поля.

Возвращает

mixed|null

getOriginal() public

getOriginal(string $field): mixed

Возвращает значение исходного поля по имени.

Параметры

string $field

имя поля, для которого извлекается исходное значение.

Возвращает

mixed

Исключения

InvalidArgumentException
если передано пустое имя поля.

getOriginalValues() public

getOriginalValues(): array

Получает все исходные значения сущности.

Возвращает

array

getSource() public

getSource(): string

Возвращает псевдоним репозитория, из которого была получена эта сущность.

Возвращает

string

getVirtual() public

getVirtual(): array<string>

Получает виртуальные поля в этой сущности.

Возвращает

array<string>

getVisible() public

getVisible(): array<string>

Получает список видимых полей.

Список видимых полей — это все стандартные поля плюс виртуальные поля минус скрытые поля.

Возвращает

array<string>

has() public

has(array<string>|string $field): bool

Возвращает, содержит ли эта сущность поле с именем $field, которое содержит значение, отличное от null.

Пример:

$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, чтобы получить истинное значение.

При проверке нескольких полей все поля не должны быть null, чтобы вернуть true.

Параметры

array<string>|string $field

Поле или поля для проверки.

Возвращает

bool

hasErrors() public

hasErrors(bool $includeNested = true): bool

Возвращает, есть ли у этой сущности ошибки.

Параметры

bool $includeNested optional

true проверит вложенные сущности на наличие ошибок

Возвращает

bool

hasValue() public

hasValue(string $field): bool

Проверяет, содержит ли поле значение.

Этот метод вернёт true для

  • Непустых строк
  • Непустых массивов
  • Любого объекта
  • Целого числа, даже 0
  • Вещественного числа, даже 0.0

и false во всех других случаях.

Параметры

string $field

Поле для проверки.

Возвращает

bool

isAccessible() public

isAccessible(string $field): bool

Проверяет, доступно ли поле.

Пример:

$entity->isAccessible('id'); // Returns whether it can be set or not

Параметры

string $field

Имя поля для проверки

Возвращает

bool

isDirty() public

isDirty(string|null $field = null): bool

Проверяет, является ли сущность грязной или грязным ли является отдельное поле.

Параметры

string|null $field optional

Поле для проверки состояния. Null для всей сущности.

Возвращает

bool

isEmpty() public

isEmpty(string $field): bool

Проверяет, пусто ли поле.

Этот метод работает не так, как функция PHP empty() . Метод вернёт true для:

  • '' (пустая строка)
  • null
  • []

и false во всех остальных случаях.

Параметры

string $field

Поле для проверки.

Возвращает

bool

isNew() public

isNew(): bool

Возвращает, была ли эта сущность уже сохранена.

Возвращает

bool

jsonSerialize() public

jsonSerialize(): array

Возвращает поля, которые будут сериализованы как JSON.

Возвращает

array

offsetExists() public

offsetExists(string $offset): bool

Реализует isset($entity);

Параметры

string $offset

Смещение для проверки.

Возвращает

bool

offsetGet() public

offsetGet(string $offset): mixed

Реализует $entity[$offset];

Параметры

string $offset

Смещение для получения.

Возвращает

mixed

offsetSet() public

offsetSet(string $offset, mixed $value): void

Реализует $entity[$offset] = $value;

Параметры

string $offset

Смещение для установки.

mixed $value

Значение для установки.

Возвращает

void

offsetUnset() public

offsetUnset(string $offset): void

Реализует unset($result[$offset]);

Параметры

string $offset

Смещение для удаления.

Возвращает

void

set() public

set(array<string, mixed>|string $field, mixed $value = null, array<string, mixed> $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');

Параметры

array<string, mixed>|string $field

имя поля для установки или список полей с соответствующими значениями

mixed $value optional

Значение для установки в поле или массив, если первый аргумент также является массивом, в этом случае он будет рассматриваться как $options

array<string, mixed> $options optional

Параметры, используемые для установки поля. Допустимые ключи параметров — setter и guard

Возвращает

$this

Исключения

InvalidArgumentException

setAccess() public

setAccess(array<string>|string $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

Параметры

array<string>|string $field

Одно или несколько полей для изменения доступности

bool $set

True помечает поле как доступное, false — как защищённое.

Возвращаемое значение

$this

setDirty() public

setDirty(string $field, bool $isDirty = true): $this

Устанавливает статус изменения для отдельного поля.

Параметры

string $field

поле для установки или проверки статуса

bool $isDirty необязательно

true означает, что поле было изменено, false — что не было изменено. По умолчанию true.

Возвращаемое значение

$this

setError() public

setError(string $field, array|string $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

Поле для получения ошибок или массив ошибок для установки.

array|string $errors

Ошибки, которые нужно установить для $field

bool $overwrite необязательно

Заменять ли существующие ошибки для $field

Возвращаемое значение

$this

setErrors() 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 необязательно

Заменять ли существующие ошибки для $fields

Возвращаемое значение

$this

setHidden() public

setHidden(array<string> $fields, bool $merge = false): $this

Устанавливает скрытые поля.

Параметры

array<string> $fields

Массив полей, которые нужно скрыть из экспорта массива.

bool $merge необязательно

Объединить новые поля со существующими. По умолчанию false.

Возвращаемое значение

$this

setInvalid() public

setInvalid(array $fields, bool $overwrite = false): $this

Помечает поля как невалидные и неподлежащие обновлению в объекте.

Это полезно для пакетных операций, когда необходимо получить исходное значение для сообщения об ошибке после обновления. Это значение не может быть обновлено в объект и просто копируется в свойство _invalid для целей отладки или для возможности его протоколирования.

Параметры

array $fields

Значения для установки.

bool $overwrite необязательно

Заменять ли существующие значения для $field.

Возвращаемое значение

$this

setInvalidField() public

setInvalidField(string $field, mixed $value): $this

Помечает поле как невалидное и неподлежащее обновлению в объекте.

Параметры

string $field

Значение для установки.

mixed $value

Невалидное значение, которое нужно установить для $field.

Возвращаемое значение

$this

setNew() public

setNew(bool $new): $this

Устанавливает статус этого объекта.

Использование true означает, что объект не был сохранён в базе данных, false что он уже есть.

Параметры

bool $new

Указывает, был ли этот объект сохранён.

Возвращаемое значение

$this

setSource() public

setSource(string $alias): $this

Устанавливает псевдоним источника

Параметры

string $alias

псевдоним репозитория

Возвращаемое значение

$this

setVirtual() public

setVirtual(array<string> $fields, bool $merge = false): $this

Устанавливает виртуальные поля в этом объекте.

Параметры

array<string> $fields

Массив полей, которые нужно рассматривать как виртуальные.

bool $merge необязательно

Объединить новые поля со существующими. По умолчанию false.

Возвращаемое значение

$this

toArray() public

toArray(): array

Возвращает массив со всеми полями, которые были установлены для этого объекта

Этот метод будет рекурсивно преобразовывать объекты, назначенные полям, в массивы также.

Возвращаемое значение

array

unset() public

unset(array<string>|string $field): $this

Удаляет поле или список полей из этого объекта

Примеры:

$entity->unset('name');
$entity->unset(['name', 'last_name']);

Параметры

array<string>|string $field

Поле для удаления.

Возвращаемое значение

$this

unsetProperty() public

unsetProperty(array<string>|string $field): $this

Удаляет поле или список полей из этого объекта

Параметры

array<string>|string $field

Поле для удаления.

Возвращаемое значение

$this

Подробное описание свойств

$_accessible protected

Словарь полей в этом объекте, доступных для безопасного присвоения; имя каждого поля сопоставлено с булевым значением, определяющим его статус. Пустой массив означает, что поля недоступны.

Также может быть указано специальное поле «*», означающее, что любое другое поле, не определённое в словаре, будет доступно по умолчанию. Например, '*' => true означает, что любое поле, не определённое в словаре, будет доступно по умолчанию.

Тип

array<bool>

$_accessors protected static

Содержит кэшированный список геттеров/сеттеров по классам.

Тип

array<string, array<string, array<string, string>>>

$_dirty protected

Содержит список полей, которые были изменены или добавлены после первоначального создания объекта.

Тип

array<bool>

$_errors protected

Список ошибок по полям, хранящихся в данном объекте.

Тип

array<string, mixed>

$_fields protected

Содержит все поля и их значения для данного объекта.

Тип

array<string, mixed>

$_hidden protected

Список имён полей, которые не должны включаться в JSON или массивы, представляющие этот объект.

Тип

array<string>

$_invalid protected

Список недопустимых полей и их данных для ошибок при валидации/обновлении.

Тип

array<string, mixed>

$_new protected

Указывает, является ли этот объект ещё не сохранённым. Объекты по умолчанию предполагаются новыми. Вы можете использовать Table::persisted() для установки флага «новый» для объекта на основе записей в базе данных.

Тип

bool

$_original protected

Содержит все изменённые поля и их исходные значения для этого объекта.

Тип

array<string, mixed>

$_registryAlias protected

Псевдоним репозитория, из которого был получен этот объект.

Тип

string

$_virtual protected

Список вычисленных или виртуальных полей, которые должны быть включены в JSON или массивы, представляющие этот объект. Если поле присутствует как в _hidden, так и в _virtual, оно не будет включено в массив/JSON представления объекта.

Тип

array<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.3/class-Cake.ORM.Entity.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API