Skip to content

FilterTrashTrait

Luis Gustavo Santarosa Pinto edited this page Mar 17, 2025 · 1 revision

A FilterTrashTrait é uma trait que adiciona funcionalidades de escopos de filtro a um modelo no Laravel. Ela permite que você adicione filtros com base em parâmetros de requisição para itens que foram movidos para a lixeira.

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

Exemplo de URL

Para utilizar a trait FilterTrashTrait com parâmetros de filtro em uma URL, você pode passar o parâmetro filter[trashed] na query string da requisição. Veja o exemplo abaixo:

http://seu-dominio.com/api/modelo?filter[trashed]=termo

Neste exemplo, o filtro será aplicado com base no termo termo nas colunas e relações configuradas para itens na lixeira.

Propriedades

  • protected ?string $filterTrash = '': O termo de filtro para itens na lixeira.
  • protected array $filterableTrashColumns = []: As colunas que podem ser filtradas para itens na lixeira.
  • protected array $filterableTrashRelations = []: As relações que podem ser filtradas para itens na lixeira.

Métodos

addFilterTrashScope(?string $filterTrash = ''): self

Adiciona escopos de filtro com base nos parâmetros de requisição para itens na lixeira.

  • Parâmetros:

    • ?string $filterTrash: O termo de filtro. Se não for fornecido, será usado o termo filterTrash da requisição.
  • Retorno:

    • self: A instância atual da classe.

Exemplo de Uso

$model->addFilterTrashScope('termo');

getFilterTrash(): string

Obtém o termo de filtro para itens na lixeira.

  • Retorno:
    • string: O termo de filtro.

setFilterTrash(string $filterTrash): self

Define o termo de filtro para itens na lixeira.

  • Parâmetros:

    • string $filterTrash: O termo de filtro.
  • Retorno:

    • self: A instância atual da classe.

isTrashFilterable(): bool

Verifica se o filtro é possível com base nas colunas e relações configuradas para itens na lixeira.

  • Retorno:
    • bool: true se o filtro for possível, false caso contrário.

Clone this wiki locally