Spatie\SearchIndex\Query\Algolia\SearchQuery::toArray PHP Метод

toArray() публичный Метод

Get the query as an array.
public toArray ( ) : array
Результат array
    public function toArray()
    {
        $query = ['numericFilters' => '', 'facetFilters' => ''];
        if ($this->query != '') {
            $query['query'] = $this->query;
        }
        if ($this->useLocationAwareSearch) {
            $query['aroundLatLng'] = $this->lat . ',' . $this->lng;
            $query['aroundRadius'] = $this->aroundRadius;
        }
        foreach ($this->dateRestrictions as $dateRestriction) {
            $query['numericFilters'] .= ',' . $dateRestriction['dateFieldName'] . $dateRestriction['operation'] . $dateRestriction['date']->getTimeStamp();
        }
        foreach ($this->numericFilters as $filter) {
            $query['numericFilters'] .= ',' . $filter;
        }
        foreach ($this->facets as $facet) {
            $query['facetFilters'] .= ',' . $facet;
        }
        $query['page'] = $this->page;
        $query['hitsPerPage'] = $this->hitsPerPage;
        return $query;
    }

Usage Example

Пример #1
0
 /**
  * @test
  */
 public function it_allows_method_chaining_for_multiple_filters()
 {
     $facetFilter = ['name', 'value'];
     $numericFilterName = 'myFilter';
     $numericFilterValues = [1, 2, 3];
     $logicalOperator = SearchQuery::LOGICAL_OPERATOR_OR;
     $dateFieldName = 'myDate';
     $operation = '>';
     $date = new DateTime();
     $this->query->withFacet('name', 'value')->withDateRestriction($dateFieldName, $operation, $date)->withNumericFilter($numericFilterName, $numericFilterValues, $logicalOperator);
     $this->assertEquals($this->expectedResult(['facetFilters' => ",{$facetFilter[0]}:{$facetFilter[1]}", 'numericFilters' => ",{$dateFieldName}{$operation}{$date->getTimestamp()},({$numericFilterName}={$numericFilterValues[0]},{$numericFilterName}={$numericFilterValues[1]},{$numericFilterName}={$numericFilterValues[2]})"]), $this->query->toArray());
 }
All Usage Examples Of Spatie\SearchIndex\Query\Algolia\SearchQuery::toArray