arispati/src-macro

Kumpulan Macro untuk SRC

v0.1.3 2020-03-12 10:56 UTC

This package is auto-updated.

Last update: 2024-04-12 20:09:18 UTC


README

SRC Macro merupakan package yang didalamnya terdapat kumpulan Macro untuk Laravel dan Lumen.

Cara Install

  • composer require arispati/src-macro

Laravel

  • Otomatis terdaftar oleh Laravel Package Discovery

Lumen

  • Daftarkan service provider di bootstrap/app.php
     $app->register(Arispati\SrcMacro\ServiceProvider::class);

Macro yang tersedia

Cara Penggunaan

  • onSearch

    Pencarian berdasarkan kolom yang sudah ditetapkan

     onSearch(
     	array $columns = [],
     	// default query param dari front-end
     	string $searchParam = 'search'
     )

    contoh:

    $query = DB::table('namaTabel')->onSearch([
    	'namaTabel.id', 'nama'
    ])
  • onSort

    Order hasil query berdasarkan kolom yang sudah ditetapkan

     onSort(
     	array $columns = [],
     	// default query param dari front-end
     	string $sortParam = 'sort',
     	string $sortTypeParam = 'sort_type'
     )

    contoh:

    $query = DB::table('namaTabel')->onSort([
    	'id',
    	// dari query param => kolom pada query
    	'nama' => 'namaTabel.nama'
    ])
  • onFilter

    Filter query berdasarkan kolom dan value

     onFilter(array $columns) // kolom harus ditetapkan

    contoh:

    $query = DB::table('namaTabel')->onFilter([
    	'id',
    	// dari query param => kolom pada query
    	'nama' => 'namaTabel.nama'
    ])
  • onBetween

    Filter hasil berdasarkan dua tanggal yang ditetapkan

     onBetween(
     	string $column = 'created_at',
     	// default query param dari front-end
     	string $startDateParam = 'start_date',
     	string $endDateParam = 'end_date'
     )

    contoh:

    // jika parameter sesuai default
    $query = DB::table('namaTabel')->onBetween()
  • downloadExcel

    Download dan hapus file excel hasil export (response: blob data)

     downloadExcel(
     	// $class harus menggunakan trait Maatwebsite\Excel\Concerns\Exportable
     	object $class,
     	// nama file termasuk ekstensinya
     	string $namaFile
     )

    contoh:

    return response()->downloadExcel(new DataToExport(), 'namaFile.xls');