186 lines
3.7 KiB
ReStructuredText
186 lines
3.7 KiB
ReStructuredText
|
Expression Builder
|
||
|
==================
|
||
|
|
||
|
The Expression Builder is a convenient fluent interface for
|
||
|
building expressions to be used with the ``Doctrine\Common\Collections\Criteria``
|
||
|
class:
|
||
|
|
||
|
.. code-block:: php
|
||
|
$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
|
||
|
----
|
||
|
|
||
|
.. code-block:: php
|
||
|
$expressionBuilder = Criteria::expr();
|
||
|
|
||
|
$expression = $expressionBuilder->andX(
|
||
|
$expressionBuilder->eq('foo', 1),
|
||
|
$expressionBuilder->eq('bar', 1)
|
||
|
);
|
||
|
|
||
|
$collection->matching(new Criteria($expression));
|
||
|
|
||
|
orX
|
||
|
---
|
||
|
|
||
|
.. code-block:: php
|
||
|
$expressionBuilder = Criteria::expr();
|
||
|
|
||
|
$expression = $expressionBuilder->orX(
|
||
|
$expressionBuilder->eq('foo', 1),
|
||
|
$expressionBuilder->eq('bar', 1)
|
||
|
);
|
||
|
|
||
|
$collection->matching(new Criteria($expression));
|
||
|
|
||
|
not
|
||
|
---
|
||
|
|
||
|
.. code-block:: php
|
||
|
$expressionBuilder = Criteria::expr();
|
||
|
|
||
|
$expression = $expressionBuilder->not(
|
||
|
$expressionBuilder->eq('foo', 1)
|
||
|
);
|
||
|
|
||
|
$collection->matching(new Criteria($expression));
|
||
|
|
||
|
eq
|
||
|
---
|
||
|
|
||
|
.. code-block:: php
|
||
|
$expressionBuilder = Criteria::expr();
|
||
|
|
||
|
$expression = $expressionBuilder->eq('foo', 1);
|
||
|
|
||
|
$collection->matching(new Criteria($expression));
|
||
|
|
||
|
gt
|
||
|
---
|
||
|
|
||
|
.. code-block:: php
|
||
|
$expressionBuilder = Criteria::expr();
|
||
|
|
||
|
$expression = $expressionBuilder->gt('foo', 1);
|
||
|
|
||
|
$collection->matching(new Criteria($expression));
|
||
|
|
||
|
lt
|
||
|
---
|
||
|
|
||
|
.. code-block:: php
|
||
|
$expressionBuilder = Criteria::expr();
|
||
|
|
||
|
$expression = $expressionBuilder->lt('foo', 1);
|
||
|
|
||
|
$collection->matching(new Criteria($expression));
|
||
|
|
||
|
gte
|
||
|
---
|
||
|
|
||
|
.. code-block:: php
|
||
|
$expressionBuilder = Criteria::expr();
|
||
|
|
||
|
$expression = $expressionBuilder->gte('foo', 1);
|
||
|
|
||
|
$collection->matching(new Criteria($expression));
|
||
|
|
||
|
lte
|
||
|
---
|
||
|
|
||
|
.. code-block:: php
|
||
|
$expressionBuilder = Criteria::expr();
|
||
|
|
||
|
$expression = $expressionBuilder->lte('foo', 1);
|
||
|
|
||
|
$collection->matching(new Criteria($expression));
|
||
|
|
||
|
neq
|
||
|
---
|
||
|
|
||
|
.. code-block:: php
|
||
|
$expressionBuilder = Criteria::expr();
|
||
|
|
||
|
$expression = $expressionBuilder->neq('foo', 1);
|
||
|
|
||
|
$collection->matching(new Criteria($expression));
|
||
|
|
||
|
isNull
|
||
|
------
|
||
|
|
||
|
.. code-block:: php
|
||
|
$expressionBuilder = Criteria::expr();
|
||
|
|
||
|
$expression = $expressionBuilder->isNull('foo');
|
||
|
|
||
|
$collection->matching(new Criteria($expression));
|
||
|
|
||
|
in
|
||
|
---
|
||
|
|
||
|
.. code-block:: php
|
||
|
$expressionBuilder = Criteria::expr();
|
||
|
|
||
|
$expression = $expressionBuilder->in('foo', ['value1', 'value2']);
|
||
|
|
||
|
$collection->matching(new Criteria($expression));
|
||
|
|
||
|
notIn
|
||
|
-----
|
||
|
|
||
|
.. code-block:: php
|
||
|
$expressionBuilder = Criteria::expr();
|
||
|
|
||
|
$expression = $expressionBuilder->notIn('foo', ['value1', 'value2']);
|
||
|
|
||
|
$collection->matching(new Criteria($expression));
|
||
|
|
||
|
contains
|
||
|
--------
|
||
|
|
||
|
.. code-block:: php
|
||
|
$expressionBuilder = Criteria::expr();
|
||
|
|
||
|
$expression = $expressionBuilder->contains('foo', 'value1');
|
||
|
|
||
|
$collection->matching(new Criteria($expression));
|
||
|
|
||
|
memberOf
|
||
|
--------
|
||
|
|
||
|
.. code-block:: php
|
||
|
$expressionBuilder = Criteria::expr();
|
||
|
|
||
|
$expression = $expressionBuilder->memberOf('foo', ['value1', 'value2']);
|
||
|
|
||
|
$collection->matching(new Criteria($expression));
|
||
|
|
||
|
startsWith
|
||
|
----------
|
||
|
|
||
|
.. code-block:: php
|
||
|
$expressionBuilder = Criteria::expr();
|
||
|
|
||
|
$expression = $expressionBuilder->startsWith('foo', 'hello');
|
||
|
|
||
|
$collection->matching(new Criteria($expression));
|
||
|
|
||
|
endsWith
|
||
|
--------
|
||
|
|
||
|
.. code-block:: php
|
||
|
$expressionBuilder = Criteria::expr();
|
||
|
|
||
|
$expression = $expressionBuilder->endsWith('foo', 'world');
|
||
|
|
||
|
$collection->matching(new Criteria($expression));
|