\Cake\DatasourceEntityInterface

Describes the methods that any class representing a data storage should comply with.

In 4.x the following methods will officially be added to the interface:

Summary

Methods
Constants
set()
get()
has()
unsetProperty()
hiddenProperties()
virtualProperties()
visibleProperties()
toArray()
extract()
dirty()
clean()
isNew()
errors()
accessible()
No constants found
No protected methods found
N/A
No private methods found
N/A

Methods

set()

set(string|array  $property, mixed  $value = null, array  $options = array()) : \Cake\Datasource\EntityInterface

Sets one or multiple properties to the specified value

Parameters

string|array $property

the name of property to set or a list of properties with their respective values

mixed $value

The value to set to the property or an array if the first argument is also an array, in which case will be treated as $options

array $options

options to be used for setting the property. Allowed option keys are setter and guard

Returns

\Cake\Datasource\EntityInterface

get()

get(string  $property) : mixed

Returns the value of a property by name

Parameters

string $property

the name of the property to retrieve

Returns

mixed

has()

has(string|array  $property) : boolean

Returns whether this entity contains a property named $property regardless of if it is empty.

Parameters

string|array $property

The property to check.

Returns

boolean

unsetProperty()

unsetProperty(string|array  $property) : \Cake\Datasource\EntityInterface

Removes a property or list of properties from this entity

Parameters

string|array $property

The property to unset.

Returns

\Cake\Datasource\EntityInterface

hiddenProperties()

hiddenProperties(null|array  $properties = null) : array|\Cake\Datasource\EntityInterface

Get/Set the hidden properties on this entity.

If the properties argument is null, the currently hidden properties will be returned. Otherwise the hidden properties will be set.

Parameters

null|array $properties

Either an array of properties to hide or null to get properties

Returns

array|\Cake\Datasource\EntityInterface

virtualProperties()

virtualProperties(null|array  $properties = null) : array|\Cake\Datasource\EntityInterface

Get/Set the virtual properties on this entity.

If the properties argument is null, the currently virtual properties will be returned. Otherwise the virtual properties will be set.

Parameters

null|array $properties

Either an array of properties to treat as virtual or null to get properties

Returns

array|\Cake\Datasource\EntityInterface

visibleProperties()

visibleProperties() : array

Get the list of visible properties.

Returns

array —

A list of properties that are 'visible' in all representations.

toArray()

toArray() : array

Returns an array with all the visible properties set in this entity.

Note hidden properties are not visible, and will not be output by toArray().

Returns

array

extract()

extract(array  $properties, boolean  $onlyDirty = false) : array

Returns an array with the requested properties stored in this entity, indexed by property name

Parameters

array $properties

list of properties to be returned

boolean $onlyDirty

Return the requested property only if it is dirty

Returns

array

dirty()

dirty(string|null  $property = null, null|boolean  $isDirty = null) : boolean

Sets the dirty status of a single property. If called with no second argument, it will return whether the property was modified or not after the object creation.

When called with no arguments it will return whether or not there are any dirty property in the entity

Parameters

string|null $property

the field to set or check status for

null|boolean $isDirty

true means the property was changed, false means it was not changed and null will make the function return current state for that property

Returns

boolean —

whether the property was changed or not

clean()

clean() : void

Sets the entire entity as clean, which means that it will appear as no properties being modified or added at all. This is an useful call for an initial object hydration

isNew()

isNew(boolean|null  $new = null) : boolean

Returns whether or not this entity has already been persisted.

This method can return null in the case there is no prior information on the status of this entity.

If called with a boolean, this method will set the status of this instance. Using true means that the instance has not been persisted in the database, false that it already is.

Parameters

boolean|null $new

Indicate whether or not this instance has been persisted.

Returns

boolean —

If it is known whether the entity was already persisted null otherwise

errors()

errors(string|array|null  $field = null, string|array|null  $errors = null, boolean  $overwrite = false) : array|\Cake\Datasource\EntityInterface

Sets the error messages for a field or a list of fields. When called without the second argument it returns the validation errors for the specified fields. If called with no arguments it returns all the validation error messages stored in this entity.

When used as a setter, this method will return this entity instance for method chaining.

Parameters

string|array|null $field

The field to get errors for.

string|array|null $errors

The errors to be set for $field

boolean $overwrite

Whether or not to overwrite pre-existing errors for $field

Returns

array|\Cake\Datasource\EntityInterface

accessible()

accessible(string|array  $property, boolean|null  $set = null) : \Cake\Datasource\EntityInterface|boolean

Stores whether or not a property value can be changed or set in this entity.

The special property * can also be marked as accessible or protected, meaning that any other property specified before will take its value. For example $entity->accessible('*', true) means that any property not specified already will be accessible by default.

Parameters

string|array $property

Either a single or list of properties to change its accessibility.

boolean|null $set

true marks the property as accessible, false will mark it as protected.

Returns

\Cake\Datasource\EntityInterface|boolean