当前位置: 首页 > 编程笔记 >

laravel通用化的CURD的实现

韩安顺
2023-03-14
本文向大家介绍laravel通用化的CURD的实现,包括了laravel通用化的CURD的实现的使用技巧和注意事项,需要的朋友参考一下

说明

非常高效的处理laravel中curd的操作

安装

composer require shencongcong/laravel-curd ~1.0

laravel项目的 config/app.php 注册 ServiceProvider

'providers' => [
  // ...
   Shencongcong\LaravelCurd\LaravelCurdServiceProvider::class,
],
'aliases' => [
  // ...
   'LaravelCurd'=> Shencongcong\LaravelCurd\Facade::class,
],

使用

use Event
use App\Model\Test;

1. 增加(add)
// 增加数据处理如需要处理业务加上这段代码,默认将laravel的request请求中的数据传入(没有业务处理则省略)
 $arr = ['id'=>1,'name'=>'hlcc']; //处理好的数据
 Event::listen("curd:filterData", function($m, $data) use($arr){
    return $arr;
 });
 
 //增加逻辑前面如需要处理业务加上这段代码(没有业务处理则省略)
 Event::listen("curd:beforeAdd", function($m, $data){
    //todo 
 });
 
 // 增加逻辑后面如需要处理业务加上这段代码(没有业务处理则省略)
 Event::listen("curd:afterAdd", function($m,$data){
   //todo
 });
  
 // Test 是Model
 \LaravelCurd::make(Test::class)->add();
 

 // update、list、detail、delete、restore 等event事件从源码中查看
 2. 修改(update)
 \LaravelCurd::make(Test::class)->update();
 
 3. 列表(list)
 \LaravelCurd::make(Test::class)->list($pageSize,$withTrashed);
 $pageSize 默认是0 不分页 2 表示每页展示2条
 $withTrashed 默认是true, 表示软删除的不展示, false 表示软删除的也展示出来
 
 4. 详情(detail)
  \LaravelCurd::make(Test::class)->detail();
 
 5. 删除(delete)
  \LaravelCurd::make(Test::class)->delete($hasForce);
  $hasForce 默认是false 表示软删除 true 表示硬删除
  
 6. 软删除恢复(restore)
 \LaravelCurd::make(Test::class)->restore();

github地址

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • JSF提供丰富的工具和库来创建应用程序。 在这里,我们创建一个包含以下步骤的CRUD(增删改查)应用程序。 打开 NetBeans IDE,创建一个名称为:jsf-curd 的 Web 工程,其目录结构如下所示 - 提示: 需要加入 Jar包。 使用文件说明 我们在项目中使用了bootstrap CSS文件。点击这里下载: http://getbootstrap.com/dist/css/boot

  • 本文向大家介绍yii的CURD操作实例详解,包括了yii的CURD操作实例详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了yii的CURD操作技巧。分享给大家供大家参考。具体分析如下: CURD是一个数据库技术中的缩写词,一般的项目开发的各种参数的基本功能都是CURD。它代表创建(Create)、更新(Update)、读取(Retrieve)和删除(Delete)操作。本文来讲讲Yii

  • 问题内容: 前几天,我正在查看别人的代码,遇到了引起关注的一行。为简化起见,假设我有一个通用的A类和一个抽象的B类。是否允许以下​​实例化?如果可以,为什么? 我个人从未见过像上面这样的实例化,尽管有这样的声明: 肯定会成立。我一直在泛型中使用通配符声明方法参数,所以我可能没有经验。 问题答案: 其实不编译。自Java 5以来,它一直是非法的。 但是我想你原来的例子是这样的。后者在Java的最新版

  • 问题内容: 能否请您帮我如何使用和一起键入,就像通过使用来演示我的方法一样 问题答案: 为了安全起见,请考虑此处所示。这将允许使用此处讨论的。 附录:即使是更一般的情况,我也会使用,如下所示。如键盘示例所示,我将使用按键绑定在组件之间共享。 附录:为了说明@kleopatra的评论,我更新了绑定到的代码。实际上,我只使用尚未绑定到文本字段操作或正常使用所需的键。

  • 本文向大家介绍ThinkJS中如何使用MongoDB的CURD操作,包括了ThinkJS中如何使用MongoDB的CURD操作的使用技巧和注意事项,需要的朋友参考一下 前言 众所周知目前使用Node.js + mongodb已经成为很多公司的技术栈。ThinkJS其实也提供了对mongo的支持,虽然官方文档较少,但是保证了ORM的API的一致性,所以用起来需要查看基本的>Model api 基本的

  • 本文向大家介绍Laravel框架查询构造器 CURD操作示例,包括了Laravel框架查询构造器 CURD操作示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Laravel框架查询构造器 CURD操作。分享给大家供大家参考,具体如下: 新增 更新 删除 查询 get first pluck select 聚合函数 更多关于Laravel相关内容感兴趣的读者可查看本站专题:《Larave