Skip to content
Snippets Groups Projects
HasChildFilter.php 1.24 KiB
Newer Older
juliensantos87's avatar
juliensantos87 committed
<?php

/*
 * This file is part of the ONGR package.
 *
 * (c) NFQ Technologies UAB <info@nfq.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace ONGR\ElasticsearchDSL\Filter;
Mantas Varatiejus's avatar
Mantas Varatiejus committed
@trigger_error(
    'The HasChildFilter class is deprecated and will be removed in 2.0. Use HasChildQuery instead.',
    E_USER_DEPRECATED
);

use ONGR\ElasticsearchDSL\BuilderInterface;
use ONGR\ElasticsearchDSL\DslTypeAwareTrait;
Mantas Varatiejus's avatar
Mantas Varatiejus committed
use ONGR\ElasticsearchDSL\Query\HasChildQuery;
juliensantos87's avatar
juliensantos87 committed

/**
 * Elasticsearch has_child filter.
Mantas Varatiejus's avatar
Mantas Varatiejus committed
 *
 * @deprecated Will be removed in 2.0. Use the BoolQuery instead.
juliensantos87's avatar
juliensantos87 committed
 */
Mantas Varatiejus's avatar
Mantas Varatiejus committed
class HasChildFilter extends HasChildQuery
juliensantos87's avatar
juliensantos87 committed
{
Mantas Jonušas's avatar
Mantas Jonušas committed
    use DslTypeAwareTrait;
juliensantos87's avatar
juliensantos87 committed
    /**
Mantas Varatiejus's avatar
Mantas Varatiejus committed
     * {@inheritdoc}
juliensantos87's avatar
juliensantos87 committed
     */
Mantas Jonušas's avatar
Mantas Jonušas committed
    public function __construct($type, BuilderInterface $query, array $parameters = [])
juliensantos87's avatar
juliensantos87 committed
    {
Mantas Jonušas's avatar
Mantas Jonušas committed
        $this->setDslType('filter');
Mantas Varatiejus's avatar
Mantas Varatiejus committed
        parent::__construct($type, $query, $parameters);
juliensantos87's avatar
juliensantos87 committed
    }

    /**
     * {@inheritdoc}
     */
    public function toArray()
    {
Mantas Varatiejus's avatar
Mantas Varatiejus committed
        $result = parent::toArray();
Mantas Varatiejus's avatar
Mantas Varatiejus committed
        if ($this->getDslType() !== 'query') {
            $result[$this->getDslType()] = $result['query'];
            unset($result['query']);
        }
Mantas Varatiejus's avatar
Mantas Varatiejus committed
        return $result;
juliensantos87's avatar
juliensantos87 committed
    }
}