| Current File : /home/jvzmxxx/wiki/vendor/ruflin/elastica/lib/Elastica/Query/Script.php |
<?php
namespace Elastica\Query;
use Elastica;
/**
* Script query.
*
* @author Nicolas Ruflin <spam@ruflin.com>
*
* @link https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-script-query.html
*/
class Script extends AbstractQuery
{
/**
* Query object.
*
* @var array|AbstractQuery
*/
protected $_query = null;
/**
* Construct script query.
*
* @param array|string|\Elastica\Script\AbstractScript $script OPTIONAL Script
*/
public function __construct($script = null)
{
if ($script) {
$this->setScript($script);
}
}
/**
* Sets script object.
*
* @param \Elastica\Script\Script|string|array $script
*
* @return $this
*/
public function setScript($script)
{
return $this->setParam('script', Elastica\Script\Script::create($script));
}
/**
* {@inheritdoc}
*/
public function toArray()
{
$array = parent::toArray();
if (isset($array['script'])) {
$array['script'] = $array['script']['script'];
}
return $array;
}
}