On this page
Interface RepositoryInterface
Describes the methods that any class representing a data storage should comply with.
Direct Implementers
Method Summary
- 
    alias() publicReturns the table alias or sets a new one
 - 
    delete() publicDelete a single entity.
 - 
    deleteAll() publicDeletes all records matching the provided conditions.
 - 
    exists() public
Returns true if there is any record in this repository matching the specified conditions.
 - 
    find() public
Creates a new Query for this repository and applies some defaults based on the type of search that was selected.
 - 
    get() public
Returns a single record after finding it by its primary key, if no record is found this method throws an exception.
 - 
    hasField() publicTest to see if a Repository has a specific field/column.
 - 
    newEntities() publicCreate a list of entities + associated entities from an array.
 - 
    newEntity() publicCreate a new entity + associated entities from an array.
 - 
    patchEntities() public
Merges each of the elements passed in
$datainto the entities found in$entitiesrespecting the accessible fields configured on the entities. Merging is done by matching the primary key in each of the elements in$dataand$entities. - 
    patchEntity() public
Merges the passed
$datainto$entityrespecting the accessible fields configured on the entity. Returns the same entity after being altered. - 
    query() publicCreates a new Query instance for this repository
 - 
    save() public
Persists an entity based on the fields that are marked as dirty and returns the same entity after a successful save or false in case of any error.
 - 
    updateAll() publicUpdate all matching records.
 
Method Detail
alias()source public
alias( string|null $alias null )
   Returns the table alias or sets a new one
Parameters
- 
     string|null 
$aliasoptional null - the new table alias
 
Returns
stringdelete()source public
delete( Cake\Datasource\EntityInterface $entity , array|ArrayAccess $options [] )
   Delete a single entity.
Deletes an entity and possibly related associations from the database based on the 'dependent' option used when defining the association.
Parameters
Cake\Datasource\EntityInterface$entity- The entity to remove.
 - 
     array|ArrayAccess 
$optionsoptional [] - The options for the delete.
 
Returns
booleansuccess
deleteAll()source public
deleteAll( mixed $conditions )
   Deletes all records matching the provided conditions.
This method will not trigger beforeDelete/afterDelete events. If you need those first load a collection of records and delete them.
This method will not execute on associations' cascade attribute. You should use database foreign keys + ON CASCADE rules if you need cascading deletes combined with this method.
Parameters
- 
     mixed 
$conditions - 
     
Conditions to be used, accepts anything Query::where() can take.
 
Returns
integerReturns the number of affected rows.
See
\Cake\Datasource\RepositoryInterface::delete()exists()source public
exists( array|ArrayAccess $conditions )
   Returns true if there is any record in this repository matching the specified conditions.
Parameters
- 
     array|ArrayAccess 
$conditions - list of conditions to pass to the query
 
Returns
booleanfind()source public
find( string $type 'all' , array|ArrayAccess $options [] )
   Creates a new Query for this repository and applies some defaults based on the type of search that was selected.
Model.beforeFind event
Each find() will trigger a Model.beforeFind event for all attached listeners. Any listener can set a valid result set using $query
Parameters
- 
     string 
$typeoptional 'all' - the type of query to perform
 - 
     array|ArrayAccess 
$optionsoptional [] - An array that will be passed to Query::applyOptions()
 
Returns
Cake\ORM\Queryget()source public
get( mixed $primaryKey , array|ArrayAccess $options [] )
   Returns a single record after finding it by its primary key, if no record is found this method throws an exception.
Example:
$id = 10;
$article = $articles->get($id);
$article = $articles->get($id, ['contain' => ['Comments]]);
   Parameters
- 
     mixed 
$primaryKey - primary key value to find
 - 
     array|ArrayAccess 
$optionsoptional [] - 
     options accepted by 
Table::find() 
Returns
Cake\Datasource\EntityInterfaceThrows
Cake\Datasource\Exception\RecordNotFoundExceptionif the record with such id could not be found
See
\Cake\Datasource\RepositoryInterface::find()hasField()source public
hasField( string $field )
   Test to see if a Repository has a specific field/column.
Parameters
- 
     string 
$field - The field to check for.
 
Returns
booleanTrue if the field exists, false if it does not.
newEntities()source public
newEntities( array $data , array $options [] )
   Create a list of entities + associated entities from an array.
This is most useful when hydrating request data back into entities. For example, in your controller code:
$articles = $this->Articles->newEntities($this->request->data());
   The hydrated entities can then be iterated and saved.
Parameters
- 
     array 
$data - The data to build an entity with.
 - 
     array 
$optionsoptional [] - A list of options for the objects hydration.
 
Returns
arrayAn array of hydrated records.
newEntity()source public
newEntity( array|null $data null , array $options [] )
   Create a new entity + associated entities from an array.
This is most useful when hydrating request data back into entities. For example, in your controller code:
$article = $this->Articles->newEntity($this->request->data());
   The hydrated entity will correctly do an insert/update based on the primary key data existing in the database when the entity is saved. Until the entity is saved, it will be a detached record.
Parameters
- 
     array|null 
$dataoptional null - The data to build an entity with.
 - 
     array 
$optionsoptional [] - A list of options for the object hydration.
 
Returns
Cake\Datasource\EntityInterfacepatchEntities()source public
patchEntities( array|Traversable $entities , array $data , array $options [] )
   Merges each of the elements passed in $data into the entities found in $entities respecting the accessible fields configured on the entities. Merging is done by matching the primary key in each of the elements in $data and $entities.
This is most useful when editing a list of existing entities using request data:
$article = $this->Articles->patchEntities($articles, $this->request->data());
   Parameters
- 
     array|Traversable 
$entities - 
     
the entities that will get the data merged in
 - 
     array 
$data - list of arrays to be merged into the entities
 - 
     array 
$optionsoptional [] - A list of options for the objects hydration.
 
Returns
arraypatchEntity()source public
patchEntity( Cake\Datasource\EntityInterface $entity , array $data , array $options [] )
   Merges the passed $data into $entity respecting the accessible fields configured on the entity. Returns the same entity after being altered.
This is most useful when editing an existing entity using request data:
$article = $this->Articles->patchEntity($article, $this->request->data());
   Parameters
Cake\Datasource\EntityInterface$entity- 
     
the entity that will get the data merged in
 - 
     array 
$data - key value list of fields to be merged into the entity
 - 
     array 
$optionsoptional [] - A list of options for the object hydration.
 
Returns
Cake\Datasource\EntityInterfacequery()source public
query( )
   Creates a new Query instance for this repository
Returns
Cake\ORM\Querysave()source public
save( Cake\Datasource\EntityInterface $entity , array|ArrayAccess $options [] )
   Persists an entity based on the fields that are marked as dirty and returns the same entity after a successful save or false in case of any error.
Parameters
Cake\Datasource\EntityInterface$entity- the entity to be saved
 - 
     array|ArrayAccess 
$optionsoptional [] - The options to use when saving.
 
Returns
Cake\Datasource\EntityInterface|booleanupdateAll()source public
updateAll( string|array|callable|Cake\Database\Expression\QueryExpression $fields , mixed $conditions )
   Update all matching records.
Sets the $fields to the provided values based on $conditions. This method will not trigger beforeSave/afterSave events. If you need those first load a collection of records and update them.
Parameters
- 
     string|array|callable|
Cake\Database\Expression\QueryExpression$fields - A hash of field => new value.
 - 
     mixed 
$conditions - 
     
Conditions to be used, accepts anything Query::where() can take.
 
Returns
integerCount Returns the affected rows.
© 2005–2017 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/3.3/class-Cake.Datasource.RepositoryInterface.html