Interface for collections that allow efficient filtering with an expression API.
Goal of this interface is a backend independent method to fetch elements from a collections. {@link Expression} is crafted in a way that you can implement queries from both in-memory and database-backed collections.
For database backed collections this allows very efficient access by utilizing the query APIs, for example SQL in the ORM. Applications using this API can implement efficient database access without having to ask the EntityManager or Repositories.
@author Benjamin Eberlei <kontakt@beberlei.de> @since 2.3
Expanded class hierarchy of Selectable
All classes that implement Selectable
interface Selectable {
/**
* Select all elements from a selectable that match the expression and
* return a new collection containing these elements.
*
* @param Criteria $criteria
* @return Collection
*/
function matching(Criteria $criteria);
}
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
Selectable:: |
function | Select all elements from a selectable that match the expression and return a new collection containing these elements. | 1 |