Skip to content

FilterSortTrait

Luis Gustavo Santarosa Pinto edited this page Mar 17, 2025 · 2 revisions

A FilterSortTrait é uma trait que adiciona funcionalidades de ordenação a um modelo no Laravel. Ela permite que você adicione filtros de ordenação com base em parâmetros de requisição.

Ela identifica quando está sendo chamada dentro de um comando e habilita automaticamente os parâmetros para a requisição sort_by e sort.

Exemplo de URL

Para utilizar a trait FilterSortTrait com parâmetros de ordenação em uma URL, você pode passar os parâmetros sort_by e sort na query string da requisição. Veja o exemplo abaixo:

http://seu-dominio.com/api/modelo?sort_by=name&sort=desc

Neste exemplo, a ordenação será feita pela coluna name em ordem decrescente.

Propriedades

  • protected ?string $sortBy = null: A coluna pela qual a ordenação será feita.
  • protected string $sort = 'asc': A direção da ordenação (ascendente por padrão).

Métodos

addSortFilter(?string $sortBy = null, string $sort = 'asc'): self

Adiciona filtros de ordenação com base nos parâmetros de requisição.

  • Parâmetros:

    • ?string $sortBy: A coluna pela qual a ordenação será feita. Se não for fornecida, será usada a coluna sort_by da requisição.
    • string $sort: A direção da ordenação. Se não for fornecida, será usada a direção sort da requisição.
  • Retorno:

    • self: A instância atual da classe.

Exemplo de Uso

$model->addSortFilter('name', 'desc');

getSortBy(): ?string

Obtém a coluna pela qual a ordenação será feita.

  • Retorno:
    • ?string: A coluna pela qual a ordenação será feita.

setSortBy(?string $sortBy): self

Define a coluna pela qual a ordenação será feita.

  • Parâmetros:

    • ?string $sortBy: A coluna pela qual a ordenação será feita.
  • Retorno:

    • self: A instância atual da classe.

getSort(): string

Obtém a direção da ordenação.

  • Retorno:
    • string: A direção da ordenação.

setSort(?string $sort): self

Define a direção da ordenação.

  • Parâmetros:

    • ?string $sort: A direção da ordenação.
  • Retorno:

    • self: A instância atual da classe.

Clone this wiki locally