SRC Macro merupakan package yang didalamnya terdapat kumpulan Macro untuk Laravel dan Lumen.
composer require arispati/src-macro
- Otomatis terdaftar oleh
Laravel Package Discovery
- Daftarkan service provider di
bootstrap/app.php
$app->register(Arispati\SrcMacro\ServiceProvider::class);
- Database - Query Builder
- Response
-
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' ])
-
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' ])
-
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' ])
-
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()
-
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');