abelaguiar/ordination

v1.3 2020-07-26 15:19 UTC

This package is auto-updated.

Last update: 2024-11-06 00:50:56 UTC


README

Adiciona ao model Eloquent o recurso de ordenar consulta por models relacionados.

Exemplo:

$clientes = Cliente::orderBy('pessoa.nome', 'desc')->get();

Como utilizar

Adicione a library

$ composer require abelaguiar/ordination

Adicione o ServiceProvider no arquivo config/app.php

// file START ommited
    'providers' => [
        // other providers ommited
        \AbelAguiar\Ordination\OrdinationServiceProvider::class,
    ],
    
    'aliases' => [
        // other aliases ommited
        'Order' => AbelAguiar\Ordination\Facade::class,
    ],
    
// file END ommited

Adicione a trait OrdinationTrait no model:

use AbelAguiar\Ordination\OrdinarionTrait;

class Cliente extends Model{

  use OrdinationTrait;
  
  /*
   * Belong To Pessoa
   */
  public function pessoa(){
      return $this->belongsTo(Pessoa::class);
  }

}

Order::url()

Utilize o helper na sua view para gerar um link de ordenação:

<thead>
  <tr>
      <th><a href="{{Order::url('pessoa.documento')}}">Documento</a></th>
      <th><a href="{{Order::url('pessoa.nome')}}">Cliente</a></th>
  </tr>
</thead>

License

The MIT License (MIT)