for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
/*
* This file is part of the ONGR package.
*
* (c) NFQ Technologies UAB <[email protected]>
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace ONGR\ElasticsearchBundle\DSL\Filter;
use ONGR\ElasticsearchBundle\DSL\BuilderInterface;
use ONGR\ElasticsearchBundle\DSL\ParametersTrait;
/**
* Represents Elasticsearch "not" filter.
* @link http://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-not-filter.html
class NotFilter implements BuilderInterface
{
use ParametersTrait;
* @var BuilderInterface
private $filter;
* @param BuilderInterface $filter Filter.
* @param array $parameters Optional parameters.
public function __construct(BuilderInterface $filter = null, array $parameters = [])
if ($filter !== null) {
$this->setFilter($filter);
}
$this->setParameters($parameters);
* Returns filter.
* @return BuilderInterface
public function getFilter()
return $this->filter;
* Sets filter.
* @param BuilderInterface $filter
public function setFilter(BuilderInterface $filter)
$this->filter = $filter;
* {@inheritdoc}
public function getType()
return 'not';
public function toArray()
$query = [];
$query['filter'] = [$this->filter->getType() => $this->filter->toArray()];
$output = $this->processArray($query);
return $output;