arispati/src-macro

用于 SRC 的宏集合

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

This package is auto-updated.

Last update: 2024-09-12 21:12:00 UTC


README

SRC Macro 是一个包含用于 Laravel 和 Lumen 的宏集合的包。

安装方法

  • composer require arispati/src-macro

Laravel

  • 自动注册于 Laravel 包发现

Lumen

  • bootstrap/app.php 中注册服务提供者
     $app->register(Arispati\SrcMacro\ServiceProvider::class);

可用的宏

使用方法

  • onSearch

    基于已设定列的搜索

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

    示例

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

    根据已设定列对查询结果进行排序

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

    示例

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

    根据列和值过滤查询

     onFilter(array $columns) // kolom harus ditetapkan

    示例

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

    根据设定的两个日期过滤结果

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

    示例

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

    下载并删除导出结果(响应:blob 数据)的 excel 文件

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

    示例

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