lakasir / has-crud-action
Has-CRUD-Action 是一个 Laravel 扩展包,简化了将 CRUD(创建、读取、更新、删除)操作添加到模型中的过程。
dev-main
2024-09-19 12:41 UTC
Requires
- php: ^8.2
- illuminate/support: ^11.9
- spatie/laravel-query-builder: ^6.0
Requires (Dev)
- orchestra/testbench: ^9.0
- phpunit/phpunit: ^10.5
This package is auto-updated.
Last update: 2024-09-19 12:41:28 UTC
README
has-crud-action
是一个 Laravel 扩展包,提供便捷的 CRUD 操作。
特性
- CRUD - 方便地创建、读取、更新和删除数据实体。
- 规则 - 您可以动态添加 CRUD 操作的规则。
- 魔法参数 - 可在操作中使用的魔法参数。
入门指南
安装
您可以通过 composer 安装此包。
composer require lakasir/has-crud-action
使用
// in your routes file Route::resource('suppliers', SupplierController::class); // in your controller file use Lakasir\HasCrudAction\Abstracts\HasCrudActionAbstract; use App\Models\Supplier; class SupplierController extends HasCrudActionAbstract { public static string $model = Supplier::class; }
方法
rules
方法允许您向操作添加自己的规则。
public static function rules(): array { return [ 'phone_number' => 'unique:suppliers,phone_number', 'name' => 'required' ]; }
beforeStore
方法允许您在存储之前修改数据。
public static function beforeStore($data, $model): Model { $model->name = strtoupper($data['name']); return $model; }
beforeUpdate
方法允许您在更新之前修改数据。
public static function beforeUpdate($data, $model): Model { $model->name = strtoupper($data['name']); return $model; }
beforeDestroy
方法允许您在销毁之前修改数据。
public static function beforeDestroy($model): Model { dd($model); return $model; }
response
方法允许您修改响应数据。
public static function response($record) { return [ 'data' => $record, 'success' => true, ]; }
魔法参数
- $id - 记录的 ID
- $method - HTTP 方法(GET、POST、PUT、PATCH、DELETE)
- $model - 模型类名
- $data - 请求发送的数据
- $record - 与操作关联的记录对象
- $action - 当前方法动作名称
- $route - 当前路由名称
测试
composer test
待办事项
- 分页支持
- 过滤支持
- 修改查询
- 处理不支持魔法参数的错误
- 关系支持
- 单元测试
- 流水线
变更日志
请参阅 CHANGELOG 了解最近的变化。
贡献
请参阅 CONTRIBUTING 获取详细信息。
安全
如果您发现任何与安全相关的问题,请通过电子邮件 lakasirapp@gmail.com 联系,而不是使用问题跟踪器。
致谢
许可协议
MIT 许可协议(MIT)。请参阅 许可文件 了解更多信息。
Laravel 扩展包模板
此包使用 Laravel 扩展包模板 生成。