abstract class Repository implements RepositoryInterface (View source)

The Flow default Repository

Properties

protected PersistenceManagerInterface $persistenceManager
protected string $entityClassName

Warning: if you think you want to set this, look at RepositoryInterface::ENTITY_CLASSNAME first!

protected array $defaultOrderings

Methods

__construct()

Initializes a new Repository.

string
getEntityClassName()

Returns the classname of the entities this repository is managing.

void
add(object $object)

Adds an object to this repository.

void
remove(object $object)

Removes an object from this repository.

findAll()

Returns all objects of this repository

object|null
findByIdentifier(mixed $identifier)

Finds an object matching the given identifier.

createQuery()

Returns a query for objects of this repository

int
countAll()

Counts all objects of this repository

void
removeAll()

Removes all objects of this repository as if remove() was called for all of them.

void
setDefaultOrderings(array $defaultOrderings)

Sets the property names to order results by. Expected like this: array( 'foo' => \Neos\Flow\Persistence\QueryInterface::ORDER_ASCENDING, 'bar' => \Neos\Flow\Persistence\QueryInterface::ORDER_DESCENDING )

void
update(object $object)

Schedules a modified object for persistence.

mixed
__call(string $method, array $arguments)

Magic call method for repository methods.

Details

__construct()

Initializes a new Repository.

string getEntityClassName()

Returns the classname of the entities this repository is managing.

Note that anything that is an "instanceof" this class is accepted by the repository.

Return Value

string

void add(object $object)

Adds an object to this repository.

Parameters

object $object

The object to add

Return Value

void

Exceptions

IllegalObjectTypeException

void remove(object $object)

Removes an object from this repository.

Parameters

object $object

The object to remove

Return Value

void

Exceptions

IllegalObjectTypeException

QueryResultInterface findAll()

Returns all objects of this repository

Return Value

QueryResultInterface

The query result

See also

QueryInterface::execute

object|null findByIdentifier(mixed $identifier)

Finds an object matching the given identifier.

Parameters

mixed $identifier

The identifier of the object to find

Return Value

object|null

The matching object if found, otherwise NULL

QueryInterface createQuery()

Returns a query for objects of this repository

Return Value

QueryInterface

int countAll()

Counts all objects of this repository

Return Value

int

void removeAll()

Removes all objects of this repository as if remove() was called for all of them.

use DQL here, would be much more performant

Return Value

void

void setDefaultOrderings(array $defaultOrderings)

Sets the property names to order results by. Expected like this: array( 'foo' => \Neos\Flow\Persistence\QueryInterface::ORDER_ASCENDING, 'bar' => \Neos\Flow\Persistence\QueryInterface::ORDER_DESCENDING )

Parameters

array $defaultOrderings

The property names to order by by default

Return Value

void

void update(object $object)

Schedules a modified object for persistence.

Parameters

object $object

The modified object

Return Value

void

Exceptions

IllegalObjectTypeException

mixed __call(string $method, array $arguments)

Magic call method for repository methods.

Provides three methods

  • findBy($value, $caseSensitive = true, $cacheResult = false)
  • findOneBy($value, $caseSensitive = true, $cacheResult = false)
  • countBy($value, $caseSensitive = true)

Parameters

string $method

Name of the method

array $arguments

The arguments

Return Value

mixed

The result of the repository method