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地址

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

(0)

相关推荐

  • Laravel框架数据库CURD操作、连贯操作总结

    一.Selects 检索表中的所有行 复制代码 代码如下: $users = DB::table('users')->get(); foreach ($users as $user) { var_dump($user->name); } 从表检索单个行 复制代码 代码如下: $user = DB::table('users')->where('name', 'John')->first(); var_dump($user->name); 检索单个列的行 复制代码 代码如下:

  • Laravel框架查询构造器 CURD操作示例

    本文实例讲述了Laravel框架查询构造器 CURD操作.分享给大家供大家参考,具体如下: 新增 //插入一条数据 public function insert(){ $rs = DB::table('student')->insert([ 'name' => 'Kit', 'age' => 12 ]); dd($rs); //true } //插入一条数据并返回自增ID public function insert(){ $id = DB::table('student')->i

  • Laravel框架实现model层的增删改查(CURD)操作示例

    本文实例讲述了Laravel框架实现model层的增删改查(CURD)操作.分享给大家供大家参考,具体如下: protected $table = 'user_city'; public $timestamps = false; //添加 返回id public function cityadd($data) { return $this->insertGetId($data); } //单条查找 public function getfind($id) { if($this->where('

  • laravel通用化的CURD的实现

    说明 非常高效的处理laravel中curd的操作 安装 composer require shencongcong/laravel-curd ~1.0 laravel项目的 config/app.php 注册 ServiceProvider 'providers' => [ // ... Shencongcong\LaravelCurd\LaravelCurdServiceProvider::class, ], 'aliases' => [ // ... 'LaravelCurd'=>

  • vue框架通用化解决个性化文字换行问题实例详解

    目录 通用化解决个性化文字换行问题 背景 通用化的办法解决 第一步:在内容平台上的单行input改成多行input(textarea) 第二步:所有文本处统一用v-text (vue) 第三步:所有文本处统一增加一个样式 white-space: pre-wrap 总结 通用化解决个性化文字换行问题 背景 首先我们网站内容是运营自己在内容平台上去配置的,我们开发不用参与和release代码.并且是国际化,多语言的. 在这种背景下,经常碰到某种语言下,某些文字需要能够增加换行的能力. 例如: 原本

  • Laravel项目中timeAgo字段语言转换的改善方法示例

    前言 在我们过去的Laravel项目中,经常需要用到time_ago这样的字段,并将其转换为我们熟悉的本地语言,可以实现的方式有很多,比如编写一个time_ago的辅助函数将其转换成本地,或采用carbon的diffForHumans函数然后替换成本地语言来实现. 过去我们编写过的代码像这样: 这样 但是我们需要将其替换成中文.繁体中文.日本或是韩文时,我们就需要编写多个类似的方法如: time_ago_CN //简体中文 time_ago_HK //繁体中文 time_ago_JP //日文

  • [数据库] 通用分页存储过程第1/5页

    分页存储过程共有四种方式可以实现,行计数.游标.升序-降序.子查询 我记得曾经有人测试过这四种方式的效率分别是 从性能最好到最差的顺序进行的--行计数.游标.升序-降序.子查询 以下是我收集的一些资料供大家参考 QUOTE: 原文地址:http://www.codeproject.com/aspnet/PagingLarge.asp 作者:Jasmin Muharemovic  译者:Tony Qu 下载: 介绍 在Web应用程序中,对一个大数据库结果集进行分页已经是一个家喻户晓的问题了.简单的

  • Python函数参数匹配模型通用规则keyword-only参数详解

    Python3对函数参数的排序规则更加通用化了,即Python3 keyword-only参数,该参数即为必须只按照关键字传递而不会有一个位置参数来填充的参数.该规则在处理人一多个参数是很有用的. keyword-only kword_only(1, 2, 3, c=4) print('-' * 20) kword_only(a=1, c=3) 示例结果: 1 (2, 3) 4 -------------------- 1 () 3 在 *args 之后的参数都需要在调用中使用关键字的方式传递,

  • laravel异步监控定时调度器实例详解

    定时调度器是什么 laravel默认提供了一个命令定时任务的功能,在其他的php框架下面,没有这个定时任务,我们要跑一些异步脚本怎么操作呢,只能依赖我们系统提供的crontab来做,这就导致我们每次发版本新增定时任务都要去服务器更改crontab代码,获取更新这个配置. 执行命令是php artisan schedule:run 来执行,那放在哪里执行呢,没错这个调起还是需要依赖我们crontab来执行,但是只需要配置一次,后续所有定时任务都在我们业务代码进行控制 场景 我们有一个导入数据的定时

  • springboot整合通用Mapper简化单表操作详解

    前言 数据库访问是web应用必不可少的部分.现今最常用的数据库ORM框架有Hibernate与Mybatis,Hibernate貌似在传统IT企业用的较多,而Mybatis则在互联网企业应用较多.通用Mapper是一个基于Mybatis,将单表的增删改查通过通用方法实现,来减少SQL编写的开源框架,且也有对应开源的mapper-spring-boot-starter提供.我们在此基础上加了一些定制化的内容,以便达到更大程度的复用. 框架源码地址 Demo源码地址 在开源mapper-spring

  • 详解实现一个通用的“划词高亮”在线笔记功能

    1. 什么是"划词高亮"? 有些同学可能不太清楚"划词高亮"是指什么,下面就是一个典型的"划词高亮": 上图的示例网站可以点击这里访问.用户选择一段文本(即划词),即会自动将这段选取的文本添加高亮背景,用户可以很方便地为网页添加在线笔记. 笔者前段时间为线上业务实现了一个与内容结构非耦合的文本高亮笔记功能.非耦合是指不需要为高亮功能建立特殊的页面 DOM 结构,而高亮功能对业务近乎透明.该功能核心部分具有较强的通用性与移植性,故拿出来和大家分享交

  • Springboot通用mapper和mybatis-generator代码示例

    实现功能:根据数据库中的表,自动生成model.dao和对应的xml文件.xml中实现通用mapper中CURD功能 1.引入依赖 <properties> <mybatis.generator.version>1.3.7</mybatis.generator.version> <tk.mybatis.version>4.1.5</tk.mybatis.version> </properties> <dependencies&g

随机推荐