Expression Builder
The Expression Builder is a convenient fluent interface for
building expressions to be used with the Doctrine\Common\Collections\Criteria
class:
$expressionBuilder = Criteria::expr();$criteria = new Criteria();$criteria->where($expressionBuilder->eq('name', 'jwage'));$criteria->orWhere($expressionBuilder->eq('name', 'romanb'));$collection->matching($criteria);
The ExpressionBuilder has the following API:
andX
$expressionBuilder = Criteria::expr();$expression = $expressionBuilder->andX( $expressionBuilder->eq('foo', 1), $expressionBuilder->eq('bar', 1));$collection->matching(new Criteria($expression));
orX
$expressionBuilder = Criteria::expr();$expression = $expressionBuilder->orX( $expressionBuilder->eq('foo', 1), $expressionBuilder->eq('bar', 1));$collection->matching(new Criteria($expression));
not
$expressionBuilder = Criteria::expr();$expression = $expressionBuilder->not( $expressionBuilder->eq('foo', 1));$collection->matching(new Criteria($expression));
eq
$expressionBuilder = Criteria::expr();$expression = $expressionBuilder->eq('foo', 1);$collection->matching(new Criteria($expression));
gt
$expressionBuilder = Criteria::expr();$expression = $expressionBuilder->gt('foo', 1);$collection->matching(new Criteria($expression));
lt
$expressionBuilder = Criteria::expr();$expression = $expressionBuilder->lt('foo', 1);$collection->matching(new Criteria($expression));
gte
$expressionBuilder = Criteria::expr();$expression = $expressionBuilder->gte('foo', 1);$collection->matching(new Criteria($expression));
lte
$expressionBuilder = Criteria::expr();$expression = $expressionBuilder->lte('foo', 1);$collection->matching(new Criteria($expression));
neq
$expressionBuilder = Criteria::expr();$expression = $expressionBuilder->neq('foo', 1);$collection->matching(new Criteria($expression));
isNull
$expressionBuilder = Criteria::expr();$expression = $expressionBuilder->isNull('foo');$collection->matching(new Criteria($expression));
isNotNull
$expressionBuilder = Criteria::expr();$expression = $expressionBuilder->isNotNull('foo');$collection->matching(new Criteria($expression));
in
$expressionBuilder = Criteria::expr();$expression = $expressionBuilder->in('foo', ['value1', 'value2']);$collection->matching(new Criteria($expression));
notIn
$expressionBuilder = Criteria::expr();$expression = $expressionBuilder->notIn('foo', ['value1', 'value2']);$collection->matching(new Criteria($expression));
contains
$expressionBuilder = Criteria::expr();$expression = $expressionBuilder->contains('foo', 'value1');$collection->matching(new Criteria($expression));
memberOf
$expressionBuilder = Criteria::expr();$expression = $expressionBuilder->memberOf('foo', ['value1', 'value2']);$collection->matching(new Criteria($expression));
startsWith
$expressionBuilder = Criteria::expr();$expression = $expressionBuilder->startsWith('foo', 'hello');$collection->matching(new Criteria($expression));
endsWith
$expressionBuilder = Criteria::expr();$expression = $expressionBuilder->endsWith('foo', 'world');$collection->matching(new Criteria($expression));
