Spec-Zone.ru › CakePHP 4.2

Класс Сущность

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

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

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

  • $_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

См. также

\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(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

Объект, из которого нужно прочитать ошибки.

Возвращает

bool

clean() public

clean(): void

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

Возвращает

void

extract() public

extract(string[] $fields, bool $onlyDirty = false): array

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

Параметры

string[] $fields

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

bool $onlyDirty optional

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

Возвращает

array

extractOriginal() public

extractOriginal(string[] $fields): array

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

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

Параметры

string[] $fields

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

Возвращает

array

extractOriginalChanged() public

extractOriginalChanged(string[] $fields): array

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

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

Параметры

string[] $fields

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

Возвращает

array

get() 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

Имя поля, из которого нужно получить ошибки

Возвращает

array

getErrors() public

getErrors(): array

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

Возвращает

array

getHidden() public

getHidden(): string[]

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

Возвращает

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(): 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

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

Возвращает

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(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

Исключения

InvalidArgumentException

setAccess() 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 — как защищенное.

Возвращает

$this

setDirty() public

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

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

Параметры

string $field

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

bool $isDirty optional

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

Возвращает

$this

setError() 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

Возвращает

$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 optional

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

Возвращает

$this

setHidden() public

setHidden(string[] $fields, bool $merge = false): $this

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

Параметры

string[] $fields

Массив полей для скрытия из экспорта массива.

bool $merge optional

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

Возвращает

$this

setInvalid() public

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

Отмечает поля как недопустимые и не подлежащие корректировке в объекте.

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

Параметры

array $fields

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

bool $overwrite optional

Заменить ли существующие значения для $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(string[] $fields, bool $merge = false): $this

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

Параметры

string[] $fields

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

bool $merge optional

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

Возвращает

$this

toArray() public

toArray(): array

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

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

Возвращает

array

unset() public

unset(string|string[] $field): $this

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

Примеры:

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

Параметры

string|string[] $field

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

Возвращает

$this

unsetProperty() 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

Spec-Zone.ru

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