arendach/request-datatable-criteria
Composer 安装命令:
composer require arendach/request-datatable-criteria
包简介
Package for integration with ares-datatable vue 3 component
README 文档
README
Description
RequestDatatableCriteria is an extension for the prettus/l5-repository package. It is designed to seamlessly integrate with the ares-datatable frontend component to handle server-side data filtering, sorting, searching, and pagination with minimal backend code. This package simplifies the interaction between the frontend and backend by adhering to a predefined request-response structure.
Features
- Filtering: Automatically applies query-based filters (e.g.,
?search=name:John). - Sorting: Supports ordering by specified fields (e.g.,
?orderBy=name&sortedBy=asc). - Pagination: Handles paginated data with standard methods (e.g.,
paginate()). - Search Integration: Includes support for partial matching using
like. - Seamless Integration: Works out-of-the-box with the
ares-datatablefrontend component.
Install
To install the package, use Composer:
composer require arendach/request-datatable-criteria
Usage
Adding Criteria to a Repository
In your repository's boot method, add the RequestDatatableCriteria:
use Arendach\RequestDatatableCriteria\RequestDatatableCriteria; public function boot(): void { $this->pushCriteria(app(RequestDatatableCriteria::class)); }
Controller Example
Here's an example of integrating the package with a controller:
use Illuminate\Http\Request; use App\Repositories\Repository; use Arendach\RequestDatatableCriteria\RequestDatatableCriteria; class CustomerController extends Controller { protected $repository; public function __construct(Repository $repository) { $this->repository = $repository; $this->repository->pushCriteria(app(RequestDatatableCriteria::class)); } public function index(Request $request) { $customers = $this->repository->paginate(); return response()->json($customers); } }
Configuration
The package requires no additional configuration. It works directly with Laravel's request object and prettus/l5-repository. However, you can extend or customize it based on your application's requirements.
Example Request
Query Parameters
-
Filtering:
GET /customers?search=name:JohnFilters customers where the
namecontains "John". -
Sorting:
GET /customers?orderBy=created_at&sortedBy=descRetrieves customers sorted by the
created_atfield in descending order. -
Pagination:
GET /customers?limit=10Returns 10 customers per page.
Author
Arendach Taras
arendach.taras@gmail.com
License
This package is open-sourced software licensed under the MIT license.
arendach/request-datatable-criteria 适用场景与选型建议
arendach/request-datatable-criteria 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 28 次下载、GitHub Stars 达 0, 最近一次更新时间为 2024 年 12 月 30 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 arendach/request-datatable-criteria 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 arendach/request-datatable-criteria 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 28
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 24
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2024-12-30