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\ElasticsearchDSL\Aggregation\Bucketing;
use ONGR\ElasticsearchDSL\Aggregation\AbstractAggregation;
use ONGR\ElasticsearchDSL\Aggregation\Type\BucketingTrait;
/**
* Class representing ReverseNestedAggregation.
* @link https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-reverse-nested-aggregation.html
class ReverseNestedAggregation extends AbstractAggregation
{
use BucketingTrait;
* @var string
private $path;
* Inner aggregations container init.
* @param string $name
* @param string $path
public function __construct($name, $path = null)
parent::__construct($name);
$this->setPath($path);
}
* Return path.
* @return string
public function getPath()
return $this->path;
* Sets path.
public function setPath($path)
$this->path = $path;
* {@inheritdoc}
public function getType()
return 'reverse_nested';
public function getArray()
if (count($this->getAggregations()) == 0) {
throw new \LogicException("Reverse Nested aggregation `{$this->getName()}` has no aggregations added");
$output = new \stdClass();
if ($this->getPath()) {
$output = ['path' => $this->getPath()];
return $output;