wpkenpachi / wpfilterlist
Biblioteca para agrupamento e ordenacao de resultados ( Sistema de Filtro para resultados )
dev-master
2018-07-04 13:39 UTC
Requires
- php: >=5.3.0
- laravel/framework: >=5.4.0
This package is auto-updated.
Last update: 2024-09-10 08:02:58 UTC
README
Instalando
Composer
$ composer require wpkenpachi/wpfilterlist
Configurando config/app.php
'providers' => [ ..., Wpkenpachi\Wpfilterlist\WpFilterListProvider::class, ... ]
Usando
Metodos
- boot( array $array ) ;
// - Recebe uma lista de arrays, ex: $array = [ [ 'id' => 1, 'isPaid' => 1, 'isNew' => 0, 'status' => 0 ], [ 'id' => 2, 'isPaid' => 1, 'isNew' => 0, 'status' => 1 ], [ 'id' => 3, 'isPaid' => 1, 'isNew' => 1, 'status' => 1 ] ]; $filtrados = Wpkenpachi\Wpfilterlist\FilterList::boot( $array );
- agrupamentos ( array $array ) ;
// Recebe como parâmetro um array de arrays, ex: // - Aqui estamos agrupando todos os arrays que contenham os resultados isPaid = 1 e isNew = 1 $grupos = [ ['isPaid' => 1, 'isNew' => 1] ]; // >>> OU <<< // Caso o parametro de agrupamento seja um só, é possível também fazer // - Aqui temos 2 grupos, o primeiro agrupando os resultados $grupos = [ 'isNew' => 1, 'isPaid' => 1 ]; $filtrados = Wpkenpachi\Wpfilterlist\FilterList::boot( $array )->agrupamentos( $grupos ) ;
- ordenamentos ( array $array ) ;
// Recebe um array como parâmetro, ex: // - A 'ordem' definida para cada grupo segue a mesma ordenação em que foram declarados // os grupos. Então... Se $grupo = [ ['isNew' => 1, 'isPaid' => 1], // grupo 1 ['isNew' => 0, 'isPaid' => 1] // grupo 2 ]; // Valores suportados para ordens [ 'asc', 'desc' ] do menor para o maior, do maior para o menor respectivamente $ordens = [ 'status' => 'asc', // a ordenação do grupo 1 é crescente 'status' => 'desc' // a ordenação do grupo 2 é decrescente ]; $filtrados = Wpkenpachi\Wpfilterlist\FilterList::boot( $array )->agrupamentos( $grupos )->ordenamentos( $ordens ) ;
- get ( ) ;
// Método usado para retornar os resultados $filtrados = Wpkenpachi\Wpfilterlist\FilterList::boot( $array )->agrupamentos( $grupos )->ordenamentos( $ordens )->get();