Класс Entity
Сущность представляет собой строку одного результата из репозитория. Она предоставляет методы для извлечения и сохранения свойств, связанных в этой строке.
- Cake\ORM\Entity реализует Cake\Datasource\EntityInterface, Cake\Datasource\InvalidPropertyInterface использует Cake\Datasource\EntityTrait
Наследуемые свойства
-
_accessible,_accessors,_className,_dirty,_errors,_hidden,_invalid,_new,_original,_properties,_registryAlias,_virtual
Краткое описание методов
- __construct() public
Инициализирует внутренние свойства этой сущности из ключей в массиве. Можно использовать следующие параметры:
Подробное описание методов
__construct()source public
__construct( array $properties [] , array $options [] )
Инициализирует внутренние свойства этой сущности из ключей в массиве. Можно использовать следующие параметры:
- useSetters: использовать ли внутренние сеттеры для свойств
- markClean: пометить все свойства как чистые после их установки
- markNew: указывает, что экземпляр ещё не был сохранён
- guard: предотвратить установку недоступных свойств (по умолчанию: false)
- source: строка, представляющая псевдоним репозитория, из которого пришла эта сущность
Пример:
$entity = new Entity(['id' => 1, 'name' => 'Andrew'])
Параметры
- массив
$propertiesнеобязательно [] - хеш свойств для установки в этой сущности
- массив
$optionsнеобязательно [] - список параметров для использования при создании этой сущности
Методы, используемые из Cake\Datasource\EntityTrait
__debugInfo()source public
__debugInfo( )
Возвращает массив, который может быть использован для описания внутреннего состояния этого объекта.
Возвращает
массив__get()source public
__get( string $property )
Магический геттер для доступа к свойствам, которые были установлены в этой сущности
Параметры
- строка
$property - Имя свойства для доступа
Возвращает
смешанное__isset()source public
__isset( string $property )
Возвращает, содержит ли эта сущность свойство с именем $property, независимо от того, пустое оно или нет.
Параметры
- строка
$property - Свойство для проверки.
Возвращает
булевоСм.
\Cake\ORM\Entity::has()__set()source public
__set( string $property , mixed $value )
Магический сеттер для добавления или изменения свойства в этой сущности
Параметры
- строка
$property - Имя свойства для установки
- смешанное
$value - Значение для установки в свойство
__toString()source public
__toString( )
Возвращает строковое представление этого объекта в удобочитаемом формате.
Возвращает
строка__unset()source public
__unset( string $property )
Удаляет свойство из этой сущности
Параметры
- строка
$property - Свойство для удаления
_accessor()source protected static
_accessor( string $property , string $type )
Получить имя метода доступа. Методы доступа (доступные или нет) кешируются в $_accessors
Параметры
- строка
$property - имя поля для получения имени геттера
- строка
$type - тип доступа ('get' или 'set')
Возвращает
строкаимя метода или пустая строка (метод недоступен)
_nestedErrors()source protected
_nestedErrors( string $field )
Вспомогательный метод для получения ошибок во вложенных сущностях
Параметры
- строка
$field - поле в этой сущности для проверки ошибок
Возвращает
массивошибки во вложенной сущности, если есть
_readError()source protected
_readError( array|Cake\Datasource\EntityTrait $object , string|null $path null )
Считывает ошибку(и) из одного или нескольких объектов.
Параметры
- массив|
Cake\Datasource\EntityTrait$object - объект для считывания ошибок
- строка|null
$pathнеобязательно null - имя поля для ошибок.
Возвращает
массивaccessible()source public
accessible( string|array $property , boolean|null $set null )
Сохраняет, может ли быть изменено или установлено значение свойства в этой сущности. Специальное свойство * также может быть помечено как доступное или защищенное, что означает, что любое другое указанное ранее свойство примет его значение. Например, $entity->accessible('*', true) означает, что любое свойство, не указанное уже, будет доступно по умолчанию.
Также можно вызвать этот метод с массивом свойств, в этом случае каждое из них примет значение доступности, указанное во втором аргументе.
Пример:
$entity->accessible('id', true); // Mark id as not protected
$entity->accessible('author_id', false); // Mark author_id as protected
$entity->accessible(['id', 'user_id'], true); // Mark both properties as accessible
$entity->accessible('*', false); // Mark all properties as protected Если вызывается без второго параметра, возвращается, может ли быть установлено свойство.
Пример:
$entity->accessible('id'); // Returns whether it can be set or not Параметры
- строка|массив
$property - одно или список свойств для изменения доступности
- булево|null
$setнеобязательно null true отмечает свойство как доступное, false отмечает как защищенное.
Возвращает
$this|bool
clean()source public
clean( )
Помечает всю сущность как чистую, что означает, что она будет казаться, как будто никакие свойства не были изменены или добавлены. Это полезный вызов для первоначальной загрузки объекта.
dirty()source public
dirty( string|null $property null , null|boolean $isDirty null )
Устанавливает состояние "грязного" свойства. Если вызывается без второго аргумента, возвращает, было ли свойство изменено после создания объекта.
Если вызывается без аргументов, возвращает, есть ли грязные свойства в сущности
Параметры
- строка|null
$propertyнеобязательно null - поле для установки или проверки состояния
- null|булево
$isDirtyнеобязательно null true означает, что свойство было изменено, false означает, что оно не было изменено, а null заставит функцию вернуть текущее состояние для этого свойства
Возвращает
булевоБыло ли свойство изменено или нет
errors()source public
errors( string|array|null $field null , string|array|null $errors null , boolean $overwrite false )
Устанавливает сообщения об ошибках для поля или списка полей. При вызове без второго аргумента возвращает ошибки валидации для указанных полей. Если вызывается без аргументов, возвращает все сообщения об ошибках валидации, хранящиеся в этом объекте и любых других вложенных объектах.
Пример
// Sets the error messages for a single field
$entity->errors('salary', ['must be numeric', 'must be a positive number']);
// Returns the error messages for a single field
$entity->errors('salary');
// Returns all error messages indexed by field name
$entity->errors();
// Sets the error messages for multiple fields at once
$entity->errors(['salary' => ['message'], 'name' => ['another message']); При использовании в качестве установщика этот метод вернёт этот экземпляр объекта для цепочки методов.
Параметры
- string|array|null
$fieldoptional null - Поле, для которого нужно получить ошибки, или массив ошибок для установки.
- string|array|null
$errorsoptional null - Ошибки, которые нужно установить для поля $field
- boolean
$overwriteoptional false - Заменять ли существующие ошибки для поля $field
Возвращает
array|Cake\Datasource\EntityTrait$this
extract()source public
extract( array $properties , boolean $onlyDirty false )
Возвращает массив с запрошенными свойствами, хранящимися в этом объекте, индексированными по имени свойства.
Параметры
- array
$properties - список свойств, которые нужно вернуть
- boolean
$onlyDirtyoptional false - Возвращать ли запрошенное свойство только если оно изменено
Возвращает
arrayextractOriginal()source public
extractOriginal( array $properties )
Возвращает массив с исходными значениями запрошенных свойств, хранящихся в этом объекте, индексированными по имени свойства.
Свойства, которые не изменены со своего первоначального значения, будут включены в возвращаемое значение этого метода.
Параметры
- array
$properties - Список свойств, которые нужно вернуть
Возвращает
arrayextractOriginalChanged()source public
extractOriginalChanged( array $properties )
Возвращает массив только с исходными значениями свойств, хранящихся в этом объекте, индексированными по имени свойства.
Этот метод вернёт только те свойства, которые были изменены с момента создания объекта. Неизменённые свойства будут исключены.
Параметры
- array
$properties - Список свойств, которые нужно вернуть
Возвращает
arrayget()source public
get( string $property )
Возвращает значение свойства по имени
Параметры
- string
$property - имя свойства для извлечения
Возвращает
mixedВыбрасывает
InvalidArgumentExceptionесли передано пустое имя свойства
getOriginal()source public
getOriginal( string $property )
Возвращает значение исходного свойства по имени
Параметры
- string
$property - имя свойства, для которого извлекается исходное значение.
Возвращает
mixedВыбрасывает
InvalidArgumentExceptionесли передано пустое имя свойства.
getOriginalValues()source public
getOriginalValues( )
Получает все исходные значения объекта.
Возвращает
arrayhas()source public
has( string|array $property )
Возвращает, содержит ли этот объект свойство с именем $property, которое содержит не нулевое значение.
Пример:
$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.
Параметры
- string|array
$property - Свойство или свойства для проверки.
Возвращает
booleanhiddenProperties()source public
hiddenProperties( null|array $properties null )
Получить/установить скрытые свойства этого объекта.
Если аргумент properties равен null, будут возвращены текущие скрытые свойства. В противном случае скрытые свойства будут установлены.
Параметры
- null|array
$propertiesoptional null - Массив свойств, которые нужно скрыть, или null для получения свойств
Возвращает
array|Cake\Datasource\EntityTrait$this
invalid()source public
invalid( string|array|null $field null , mixed|null $value null , boolean $overwrite false )
Отмечает поле как невалидное и непропатчиваемое в объект.
Это полезно для пакетных операций, когда необходимо получить исходное значение для сообщения об ошибке после патчинга. Это значение не может быть патчировано в объект и просто копируется в свойство _invalid для отладки или для того, чтобы сохранить его.
Параметры
- string|array|null
$fieldoptional null - Поле, для которого нужно получить невалидное значение, или значение для установки.
- mixed|null
$valueoptional null - Невалидное значение, которое нужно установить для $field.
- boolean
$overwriteoptional false - Заменять ли существующие значения для $field.
Возвращает
$this|mixed
isNew()source public
isNew( boolean|null $new null )
Возвращает, был ли этот объект сохранён ранее. Этот метод может возвращать null в случае, если нет никакой информации о статусе этого объекта.
Если вызван с boolean, установит известный статус этого экземпляра, true означает, что экземпляр ещё не сохранён в базе данных, false, что уже сохранён.
Параметры
- boolean|null
$newoptional null - true, если известно, что этот экземпляр был сохранён
Возвращает
booleanБыл ли объект сохранён.
jsonSerialize()source public
jsonSerialize( )
Возвращает свойства, которые будут сериализованы как JSON
Возвращает
arrayoffsetExists()source public
offsetExists( mixed $offset )
Реализует isset($entity);
Параметры
- mixed
$offset - Смещение для проверки.
Возвращает
booleanУспех
offsetGet()source public
offsetGet( mixed $offset )
Реализует $entity[$offset];
Параметры
- mixed
$offset - Смещение для извлечения.
Возвращает
mixedoffsetSet()source public
offsetSet( mixed $offset , mixed $value )
Реализует $entity[$offset] = $value;
Параметры
- mixed
$offset - Смещение для установки.
- mixed
$value - Значение для установки.
offsetUnset()source public
offsetUnset( mixed $offset )
Реализует unset($result[$offset]);
Параметры
- mixed
$offset - Смещение для удаления.
set()source public
set( string|array $property , mixed $value null , array $options [] )
Устанавливает одно свойство в этой сущности.
Пример:
$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]); Массовое назначение следует использовать осторожно при приеме пользовательского ввода. По умолчанию сущности будут защищать все поля при массовом назначении свойств. Можно отключить защиту для отдельного вызова с опцией guard.
$entity->set(['name' => 'Andrew', 'id' => 1], ['guard' => true]);
При назначении свойств по отдельности опцию защиты использовать не нужно.
// No need to use the guard option.
$entity->set('name', 'Andrew'); Параметры
- string|array
$property Имя свойства для установки или список свойств со значениями.
- mixed
$valueнеобязательно null Значение для установки свойства или массив, если первый аргумент также является массивом, в этом случае он будет обрабатываться как $options.
- array
$optionsнеобязательно [] Параметры для установки свойства. Разрешенные ключи параметров —
setterиguard
Возвращает
$this
Выбрасывает
InvalidArgumentExceptionsource()source public
source( string|null $alias null )
Возвращает псевдоним репозитория, из которого была получена эта сущность.
Если вызвано без аргументов, возвращает псевдоним репозитория, из которого была получена эта сущность, если он известен.
Параметры
- string|null
$aliasнеобязательно null - Псевдоним репозитория
Возвращает
string|Cake\Datasource\EntityTrait$this
toArray()source public
toArray( )
Возвращает массив со всеми установленными свойствами этой сущности.
Этот метод будет рекурсивно преобразовывать сущности, назначенные свойствам, в массивы.
Возвращает
arrayunsetProperty()source public
unsetProperty( string|array $property )
Удаляет свойство или список свойств из этой сущности
Примеры:
$entity->unsetProperty('name');
$entity->unsetProperty(['name', 'last_name']); Параметры
- string|array
$property - Свойство для удаления.
Возвращает
$this
virtualProperties()source public
virtualProperties( null|array $properties null )
Получение/установка виртуальных свойств этой сущности.
Если аргумент properties равен null, возвращаются текущие виртуальные свойства. В противном случае виртуальные свойства устанавливаются.
Параметры
- null|array
$propertiesнеобязательно null - Массив свойств, которые следует обрабатывать как виртуальные, или null для получения свойств.
Возвращает
array|Cake\Datasource\EntityTrait$this
visibleProperties()source public
visibleProperties( )
Получение списка видимых свойств.
Список видимых свойств включает все стандартные свойства плюс виртуальные свойства минус скрытые свойства.
Возвращает
arrayСписок свойств, которые являются «видимыми» во всех представлениях.
© 2005–2016 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.
http://api.cakephp.org/3.2/class-Cake.ORM.Entity.html