/** * Applies filters. * * @param Builder $builder query builder * @param array|string $query query parameters to use for sorting - Input::all() is used by default */ public function scopeSorted(Builder $builder, $query = []) { $query = (array) ($query ?: Input::input($this->sortParameterName, [])); //unwrap sorting criteria array (for backwards compatibility) if (is_array($query) && array_key_exists($this->sortParameterName, $query)) { $query = (array) $query[$this->sortParameterName]; } $criteria = $this->getCriteria($builder, $query); $this->applyCriteria($builder, $criteria); }