Nicolaslopezj\Searchable\SearchableTrait::makeGroupBy PHP Method

makeGroupBy() protected method

Makes the query not repeat the results.
protected makeGroupBy ( Builder $query )
$query Illuminate\Database\Eloquent\Builder
    protected function makeGroupBy(Builder $query)
    {
        if ($groupBy = $this->getGroupBy()) {
            $query->groupBy($groupBy);
        } else {
            $driver = $this->getDatabaseDriver();
            if ($driver == 'sqlsrv') {
                $columns = $this->getTableColumns();
            } else {
                $columns = $this->getTable() . '.' . $this->primaryKey;
            }
            $query->groupBy($columns);
            $joins = array_keys($this->getJoins());
            foreach ($this->getColumns() as $column => $relevance) {
                array_map(function ($join) use($column, $query) {
                    if (Str::contains($column, $join)) {
                        $query->groupBy($column);
                    }
                }, $joins);
            }
        }
    }