class Criteria in Zircon Profile 8
Same name and namespace in other branches
- 8.0 vendor/doctrine/collections/lib/Doctrine/Common/Collections/Criteria.php \Doctrine\Common\Collections\Criteria
Criteria for filtering Selectable collections.
@author Benjamin Eberlei <kontakt@beberlei.de> @since 2.3
Hierarchy
- class \Doctrine\Common\Collections\Criteria
Expanded class hierarchy of Criteria
3 files declare their use of Criteria
- ArrayCollectionTest.php in vendor/
doctrine/ collections/ tests/ Doctrine/ Tests/ Common/ Collections/ ArrayCollectionTest.php - CollectionTest.php in vendor/
doctrine/ collections/ tests/ Doctrine/ Tests/ Common/ Collections/ CollectionTest.php - CriteriaTest.php in vendor/
doctrine/ collections/ tests/ Doctrine/ Tests/ Common/ Collections/ CriteriaTest.php
File
- vendor/
doctrine/ collections/ lib/ Doctrine/ Common/ Collections/ Criteria.php, line 31
Namespace
Doctrine\Common\CollectionsView source
class Criteria {
/**
* @var string
*/
const ASC = 'ASC';
/**
* @var string
*/
const DESC = 'DESC';
/**
* @var \Doctrine\Common\Collections\ExpressionBuilder|null
*/
private static $expressionBuilder;
/**
* @var \Doctrine\Common\Collections\Expr\Expression|null
*/
private $expression;
/**
* @var string[]
*/
private $orderings = array();
/**
* @var int|null
*/
private $firstResult;
/**
* @var int|null
*/
private $maxResults;
/**
* Creates an instance of the class.
*
* @return Criteria
*/
public static function create() {
return new static();
}
/**
* Returns the expression builder.
*
* @return \Doctrine\Common\Collections\ExpressionBuilder
*/
public static function expr() {
if (self::$expressionBuilder === null) {
self::$expressionBuilder = new ExpressionBuilder();
}
return self::$expressionBuilder;
}
/**
* Construct a new Criteria.
*
* @param Expression $expression
* @param string[]|null $orderings
* @param int|null $firstResult
* @param int|null $maxResults
*/
public function __construct(Expression $expression = null, array $orderings = null, $firstResult = null, $maxResults = null) {
$this->expression = $expression;
$this
->setFirstResult($firstResult);
$this
->setMaxResults($maxResults);
if (null !== $orderings) {
$this
->orderBy($orderings);
}
}
/**
* Sets the where expression to evaluate when this Criteria is searched for.
*
* @param Expression $expression
*
* @return Criteria
*/
public function where(Expression $expression) {
$this->expression = $expression;
return $this;
}
/**
* Appends the where expression to evaluate when this Criteria is searched for
* using an AND with previous expression.
*
* @param Expression $expression
*
* @return Criteria
*/
public function andWhere(Expression $expression) {
if ($this->expression === null) {
return $this
->where($expression);
}
$this->expression = new CompositeExpression(CompositeExpression::TYPE_AND, array(
$this->expression,
$expression,
));
return $this;
}
/**
* Appends the where expression to evaluate when this Criteria is searched for
* using an OR with previous expression.
*
* @param Expression $expression
*
* @return Criteria
*/
public function orWhere(Expression $expression) {
if ($this->expression === null) {
return $this
->where($expression);
}
$this->expression = new CompositeExpression(CompositeExpression::TYPE_OR, array(
$this->expression,
$expression,
));
return $this;
}
/**
* Gets the expression attached to this Criteria.
*
* @return Expression|null
*/
public function getWhereExpression() {
return $this->expression;
}
/**
* Gets the current orderings of this Criteria.
*
* @return string[]
*/
public function getOrderings() {
return $this->orderings;
}
/**
* Sets the ordering of the result of this Criteria.
*
* Keys are field and values are the order, being either ASC or DESC.
*
* @see Criteria::ASC
* @see Criteria::DESC
*
* @param string[] $orderings
*
* @return Criteria
*/
public function orderBy(array $orderings) {
$this->orderings = array_map(function ($ordering) {
return strtoupper($ordering) === Criteria::ASC ? Criteria::ASC : Criteria::DESC;
}, $orderings);
return $this;
}
/**
* Gets the current first result option of this Criteria.
*
* @return int|null
*/
public function getFirstResult() {
return $this->firstResult;
}
/**
* Set the number of first result that this Criteria should return.
*
* @param int|null $firstResult The value to set.
*
* @return Criteria
*/
public function setFirstResult($firstResult) {
$this->firstResult = null === $firstResult ? null : (int) $firstResult;
return $this;
}
/**
* Gets maxResults.
*
* @return int|null
*/
public function getMaxResults() {
return $this->maxResults;
}
/**
* Sets maxResults.
*
* @param int|null $maxResults The value to set.
*
* @return Criteria
*/
public function setMaxResults($maxResults) {
$this->maxResults = null === $maxResults ? null : (int) $maxResults;
return $this;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
Criteria:: |
private | property | ||
Criteria:: |
private static | property | ||
Criteria:: |
private | property | ||
Criteria:: |
private | property | ||
Criteria:: |
private | property | ||
Criteria:: |
public | function | Appends the where expression to evaluate when this Criteria is searched for using an AND with previous expression. | |
Criteria:: |
constant | |||
Criteria:: |
public static | function | Creates an instance of the class. | |
Criteria:: |
constant | |||
Criteria:: |
public static | function | Returns the expression builder. | |
Criteria:: |
public | function | Gets the current first result option of this Criteria. | |
Criteria:: |
public | function | Gets maxResults. | |
Criteria:: |
public | function | Gets the current orderings of this Criteria. | |
Criteria:: |
public | function | Gets the expression attached to this Criteria. | |
Criteria:: |
public | function | Sets the ordering of the result of this Criteria. | |
Criteria:: |
public | function | Appends the where expression to evaluate when this Criteria is searched for using an OR with previous expression. | |
Criteria:: |
public | function | Set the number of first result that this Criteria should return. | |
Criteria:: |
public | function | Sets maxResults. | |
Criteria:: |
public | function | Sets the where expression to evaluate when this Criteria is searched for. | |
Criteria:: |
public | function | Construct a new Criteria. |