Nqxcode\LuceneSearch\Query\Builder::rawQuery PHP Method

rawQuery() public method

Build raw query.
public rawQuery ( string | ZendSearch\Lucene\Search\Query\AbstractQuery $query )
$query string | ZendSearch\Lucene\Search\Query\AbstractQuery
    public function rawQuery($query)
    {
        if (is_string($query)) {
            $query = $this->queryBuilder->parse($query);
        } elseif (is_callable($query)) {
            $query = $this->queryBuilder->parse($query());
        }
        if ($query instanceof AbstractQuery) {
            $this->query = $query;
        } else {
            throw new \InvalidArgumentException("Argument 'query' must be a string or ZendSearch\\Lucene\\Search\\Query\\AbstractQuery instance " . "or callable returning a string or ZendSearch\\Lucene\\Search\\Query\\AbstractQuery instance.");
        }
        return $this;
    }

Usage Example

 public function testRawQuery()
 {
     $this->assertEquals($this->constructor, $this->constructor->rawQuery('test'));
     $closure = function () {
         return 'test';
     };
     $this->rawQueryBuilder->shouldReceive('parse')->with($closure)->andReturn(new Boolean())->byDefault();
     $this->assertEquals($this->constructor, $this->constructor->rawQuery($closure));
     $this->assertEquals($this->constructor, $this->constructor->rawQuery(new Boolean()));
 }