Comparison
class Comparison implements Expression
Comparison of a field with a value by the given operator.
Constants
EQ = '='; |
|
NEQ = '<>'; |
|
LT = '<'; |
|
LTE = '<='; |
|
GT = '>'; |
|
GTE = '>='; |
|
IS = '='; // no difference with EQ |
|
IN = 'IN'; |
|
NIN = 'NIN'; |
|
CONTAINS = 'CONTAINS'; |
|
Methods
public |
| __construct(string $field, string $operator, mixed $value) | No description | |
public | string | getField() | No description | |
public | Value | getValue() | No description | |
public | string | getOperator() | No description | |
public | mixed | visit(ExpressionVisitor $visitor) | No description | |
Details
__construct()
public __construct(string $field, string $operator, mixed $value)
Parameters
string | $field | |
string | $operator | |
mixed | $value | |
getField()
public string getField()
getValue()
public Value getValue()
getOperator()
public string getOperator()
visit()
public mixed visit(ExpressionVisitor $visitor)
Parameters
ExpressionVisitor | $visitor | |
Return Value
Source code
<?php
/*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* This software consists of voluntary contributions made by many individuals
* and is licensed under the MIT license. For more information, see
* <http://www.doctrine-project.org>.
*/
namespace Doctrine\Common\Collections\Expr;
/**
* Comparison of a field with a value by the given operator.
*
* @author Benjamin Eberlei <kontakt@beberlei.de>
* @since 2.3
*/
class Comparison implements Expression
{
const EQ = '=';
const NEQ = '<>';
const LT = '<';
const LTE = '<=';
const GT = '>';
const GTE = '>=';
const IS = '='; // no difference with EQ
const IN = 'IN';
const NIN = 'NIN';
const CONTAINS = 'CONTAINS';
/**
* @var string
*/
private $field;
/**
* @var string
*/
private $op;
/**
* @var Value
*/
private $value;
/**
* @param string $field
* @param string $operator
* @param mixed $value
*/
public function __construct($field, $operator, $value)
{
if ( ! ($value instanceof Value)) {
$value = new Value($value);
}
$this->field = $field;
$this->op = $operator;
$this->value = $value;
}
/**
* @return string
*/
public function getField()
{
return $this->field;
}
/**
* @return Value
*/
public function getValue()
{
return $this->value;
}
/**
* @return string
*/
public function getOperator()
{
return $this->op;
}
/**
* {@inheritDoc}
*/
public function visit(ExpressionVisitor $visitor)
{
return $visitor->walkComparison($this);
}
}