首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从0开始做一个审批模块

接下来我将从 『数据设计』 和 『程序设计』 两个方面进行阐述: 数据设计 确定名 第一步确定一下名,『申请』。...说到数据的命名,我觉得也是一门学问,不单单是数据的命名,但凡涉及到命名的就是一门高深的学问,往往有的时候命名的时间,比我写一个方法函数的时间还要长,无奈一直找不到精髓所在。...通知(申请通知、审批结果通知) 大部分 web 应用应该都有通知,这里无非是多加了一个 审批 类型的通知,所以通知的设计就不在这里提了。...至此我们申请的数据就建立完毕了,我们来看看成品: ? 程序设计 数据建完了,接下来我们一起来看一下,在程序上我是怎么设计的。...下面的示例代码将以 PHP 语言进行编写,使用的框架为 Laravel[2]。 建立模型类 根据上面设计好的数据,我们对 Apply 进行建模: <?

1.7K10
您找到你想要的搜索结果了吗?
是的
没有找到

写在 Laravel 5.5 发布之前

目前我在内部项目中已经在使用 Laravel 5.5,接下来会连续地翻译、撰写相关 Laravel 5.5 版本的文章。 FAQ Q: Laravel 5.5 什么时候发布?...A: 按照时间,正式发布时间是 2017年7月。 Q: Laravel 5.5 发布之后,5.4 还会继续提供支持吗?...A: Laravel 官方有一个Laravel 发布进程Laravel Release process)。 Q: 怎样才能在 Laravel 5.5 发布后最快得到通知?...A: Laravel News提供了最新消息发布的实时邮件通知,还提供了每周一期的 Laravel newsletter, 你可以加入邮件订阅,即可在新版本正式发布后尽快得到通知。...但是现在已经可以着手准备进行服务器上的 PHP 版本升级了,如果使用了原生 MySQL扩展,在升级到PHP 7.0 之前建议先切换到 pdo-MySQL 或者 MySQLi 来实现 MySQL 数据库连接和查询

1.9K40

laravel 模型Eloquent ORM 查询

每个数据都有一个对应的「模型」用来与该交互。你可以通过模型查询数据中的数据,以及在数据中插入新记录。 在开始之前,请确保在 config/database.php 中配置数据库连接。...更多关于数据库配置的信息,请查看 文档。 模型 就是把数据库的映射到模型类,用面向对象的方式来操作数据库,既然是面向对象自然就可以继承了可以方便的复用。...laravel 的 Model 使用先进的 Eloquent ORM 但也有优缺点 优点是数据库的操作变的简单安全 缺点也明显数据库的操作变的缓慢笨重 Eloquent ORM 作为 laravel 中亮点...使用的是单数形式帕斯卡命名法 ,也就是首字母大写的驼峰命名法 比如 up之前创建的 test Model 命名就是 Test.php 但是呢, laravel 都能 用命令创建控制器生成数据填充了...如果想更直观点查看的话就使用 toArray 方法转成数据 dump($data->toArray()); ?

4.4K10

laravel 实现根据字段不同值做不同查询

在开发过程中我们经常遇到这种情况: 例如,一个信息message,字段type 1.操作提醒 2.平台通知,message_read记录当信息是平台通知时用户浏览状况 那么 当信息是平台通知时是针对的所有用户...,我们想根据他是否浏览状态去在消息提醒里去显示他未读的消息 语句如下(laravel) public function index() { // 监听sql语句 // DB::listen(function...query) use($uid){ $query- where(['type'= 1,'status'= 1,'is_read'= 2,'uid'= $uid]); })- get(); } 数据表格式...DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COMMENT='平台消息通知阅读记录...'; 以上这篇laravel 实现根据字段不同值做不同查询就是小编分享给大家的全部内容了,希望能给大家一个参考。

1.7K31

推荐 Laravel API 项目必须使用的 8 个扩展包

Spatie/laravel-fractal 对于一个基于 API 的项目来说,最重要的事情就是 API 响应数据的输出。Laravel 采用 Eloquent 来输出 json 或数据格式的数据。...如果你仅仅是查询一两张,那问题并不大,可是如果你使用的超过了五张以上呢,那确实有点痛苦。 Fractal 就为你提供了一个很棒的解决方案,它为那些复杂的数据输出提供了演示和转换的规则。 ...当用户访问数据时 UUID 可以保护系统。 Webpatser/laravel-uuid 是一个 Laravel 第三方包,根据 RFC 4122 标准生成 UUID, 你可以在 这里 找到它。...Push notifications 是最简单发送推送通知到设备的扩展包,也支持APNS(苹果)和GCM(谷歌)的推送通知服务。...8. spatie/laravel-backup 项目中最后一件重要的事情总是备份你的数据. 这个 laravel 扩展包名为 laravel-backup 它会为你的应用程序创建备份.

2.8K10

基于独立的 Laravel Eloquent 组件编写 ORM 模型类

模型类负责与数据库进行交互,这里的模型指的是数据的模型,一个模型类对应一张数据数据的字段会映射为模型类的属性,我们可以通过模型类提供的方法实现对应数据表记录的增删改查,这样一来,我们就将原来面向过程的数据库操作转化为面向对象风格的编程...,将对数据的 SQL 执行转化为对模型类的方法调用。...我们把这种对象与数据的映射称之为对象关系映射(Object Relational Mapping),简称 ORM。...两者的主要区别是: 在 Active Record 模式中,模型类与数据一一对应,一个模型实例对应一行数据表记录,操作模型实例等同于操作表记录; 而在 Data Mapper 模式中,业务领域(Domain...)和数据持久层是完全分离的,模型类操作与数据更新之间通过 EntityManager 来维护,上层操作的模型类完全不需要和数据库有任何关联。

1.9K10

laravel5.3的新功能尝鲜

上一节课 https://my.oschina.net/lilugirl2005/blog/783370 上一节课我们讲了laravel5.3的安装,这节讲laravel5.3的一些基础命令和配置 Listeners...然后检查数据库 发现favorites自动生成了一条记录 ? 相反的detach可以删除关系 ? favorites数据库为空 ? toggle的使用 ?...Notify:站内信通知 (通过database记录) 站内信通知是将通知消息存储到数据库中的,需要先建立对应的数据 输入以下命令创建 php artisan notifications:table...然后在命令行中输入 php artisan migrate命令生成数据 ? 修改app/Notifications/PostPublished.php 文件中的配置 ?...浏览器中执行http://10yue.live/notify 然后在数据库notifications中可以看到一条记录 ?

92120

laravel excel 上传文件保存到本地服务器功能

总的来说,就是调用disk模块里的public配置 // 路径 : 默认的使用的storage 保存到/storage/app/public路径下边,可自行设置 //上传成功返回true...result = Storage::disk('public')- put($file_name, file_get_contents($path)); 本地上传还可以使用这种方法:(首先需要定义模型来控制数据...等等, 详情请见官网 https://laravel-excel.maatwebsite.nl/3.1/getting-started/installation.html 然后在控制器里面直接调用读取就好.../storage/app/public/' . iconv('UTF-8', 'gb2312', $file_name); //直接读取,这就是我们需要的数组的形式 $array = Excel::toArray...(new UserImport(),$filePath); 以上这篇laravel excel 上传文件保存到本地服务器功能就是小编分享给大家的全部内容了,希望能给大家一个参考。

2.3K31

基于 Redis 消息队列实现文件上传的异步存储

引子 本来准备给 Redis 实战入门篇做个收尾了,不过想起来 Laravel 进阶组件部分还剩下文件存储、邮件和通知这几个功能没有介绍,不如索性一并介绍下,因为它们并不是和 Redis 风马牛不相及,...至此,所有的 Laravel 进阶组件(队列、事件、广播、缓存、邮件、通知、文件存储、任务调度)都可以和 Redis 挂钩,通过 Redis 实现的缓存、分布式锁或消息队列来实现功能或优化性能,所以掌握了...准备模型类、数据迁移 数据库结构变更 开始之前,先通过如下 Artisan 命令创建图片模型类和数据迁移文件: sail artisan make:migration Image -m 编写新生成的...if (Storage::disk('public')->exists($path)) { return; } // 文件存储成功,则将其保存到数据库...Storage::disk('local')->exists($this->path)) { return; } // 文件存储成功,则将其保存到数据库,否则 5s 后重试

3.4K20

laravel 模型Eloquent ORM 添加编辑删除

既然玩了查询接着来玩玩添加编辑删除 CURD要完整嘛 添加 一般是前端传过来数据存到数据库,模型有一个 create 方法就是用来新增数据的,up 建个 store 方法 function store...删除数据是一件很危险的行为,up 刚刚入行的时候不小心给生产环境的用户删除了,当时全靠谷歌用的好给恢复了不然我就跑路了?,现实版删库跑路?。...当时我希望能有一个恢复删除的功能比如说回收站,laravel 的模型为我们提供了很方便的软删除功能 要启用软删除首先数据需要有 deleted_at 字段 之前玩迁移的时候简单的说了下创建迁移的时候调用...SoftDeletes; } Tip: SoftDeletes trait 会自动将 deleted_at 属性转换成 DateTime / Carbon 实例 当然,你需要把 deleted_at 字段添加到数据中...Laravel数据库迁移 有创建这个字段的方法 现在,当你在模型实例上使用 delete 方法, 当前日期时间会写入 deleted_at 字段。

1.6K21

基于 Redis 消息队列实现邮件通知的异步发送

要在用户注册成功后发送邮件通知,可以监听这个事件并进行处理,为此,我们需要在 App\Providers\EventServiceProvider 注册监听这个事件的监听器类,Laravel 已经自带了一个针对该事件的监听器类...SendEmailVerificationNotification 是由 Laravel 底层提供的,用于发送邮箱验证通知,该通知只有在启用邮箱验证功能的时候才会发送,目前我们并没有做此配置,所以这个通知不会发送...至此,我们就完成了通过消息队列异步处理邮件通知的功能演示,当然了,你还以发送短信通知数据通知(站内通知)、广播通知等更多通信类型,详情请参考 Laravel 通知文档。...关于 Laravel 底层是如何将通知发送推送到消息队列的,可以参考之前事件监听和广播的底层源码分析思路去查看,这里就不再赘述了。...本系列教程首发在Laravel学院(laravelacademy.org)

2.9K20

Laravel5.5+ 使用API Resources快速输出自定义JSON方法详解

Laravel 5.5+开始,加入了API Resources这个概念。...如果你熟悉使用API进行输出,构架前后端分离的网络应用,那么你应该会发现,当我们使用Eloquent从数据库中取出数据后,如果想以JSON格式进行输出,那么我们可以使用- toJson()这个方法,这个方法可以直接将我们的...那么在ShippingAddress对应的数据shipping_addresses中,我们可能会有如下定义: | id | country_id | province_id | city_id |...而Customer对应的customers中,会有shipping_address_id这个外键指向shipping_addresses中的id。...($request) { return parent::toArray($request); } } 这里我们看到其中有且仅有一个名为toArray的方法。

4.4K30

Laravel5.2之Seeder填充数据小技巧

说明:本文主要聊一聊Laravel测试数据填充器Seeder的小技巧,同时介绍下Laravel开发插件三件套,这三个插件挺好用哦。同时,会将开发过程中的一些截图和代码黏上去,提高阅读效率。...开发环境:Laravel5.2 + MAMP + PHP7 + MySQL5.5 开发插件三件套 在先聊测试数据填充器seeder之前,先装上开发插件三件套,开发神器。先不管这能干些啥,装上再说。...Tag是多对多关系,还需要一张存放两者关系的: //多对多关系,中间的命名laravel默认按照两张表字母排序来的,写成tag_post会找不到中间 php artisan make:migration...,的关系如下: Seeder填充测试数据 好,在聊到seeder测试数据填充之前,看下开发插件三件套能干些啥,下文中命令可在项目根目录输入php artisan指令列表中查看。...的迁移Migration和关联Relationship都已设计好,测试数据也已经Seeder好了,就可以根据Repository模式来设计一些数据库逻辑了。

3.5K42

【MQ05】异常消息处理

前面已经说过了,这个消费者获取到的死信队列数据都是正常消费有问题的,那么善后工作咱们就可以将这些数据记录日志或者记录到数据库,顺便发邮件、发短信提醒,或者做任何你想做的通知及记录工作。...抱歉,真的没有,但是,Laravel 和 TP 框架的队列功能都通过业务代码的形式实现了类似的功能。我们还是以 Laravel 为例进行学习。...在 Laravel 中,异常的消息队列数据最后会保存到 MySQL 数据库中,我们需要执行数据迁移来创建,使用下面这两个命令。...php artisan queue:failed-table php artisan migrate 操作成功之后,会在数据库中创建一个名为 failed_jbs 的。...通过这个方法,我们可以在任务失败的时候马上就进行邮件、短信通知,或者也可以记录错误日志,甚至也可以不使用上面默认的异常处理功能以及相关的,直接在这里用我们自己自定义的来存储失败任务的信息。

13410

devops-exercises:DevOps 工程师的面试学习资料 | 开源日报 No.95

它还包括一个具有挑战性 evals 的开源注册。...可以自定义实施特定逻辑来进行个性化 eval 逻辑 filamentphp/filament[4] Stars: 9.6k License: MIT picture Filament 是一个用于加速 Laravel...它们设计精美,易于使用,并且完全可扩展,这是您下一个 Laravel 应用程序的理想起点。不要浪费时间一遍又一遍地构建相同的功能。...快速构建 Laravel 管理面板、面向客户的应用程序、软件即服务平台等 简化自定义 CRUD 驱动界面的搭建和部署过程 Form Builder:轻松创建具有 25 多个预设组件交互式表单,支持自定义字段和操作...Table Builder:为任何情况打造出漂亮、优化且交互式数据表格,支持添加自定义列、筛选器和操作 Notifications:提供闪存通知给用户以及从数据库获取并在幻灯片弹窗中呈现通知或接收实时通知等重要事件处理能力

14710
领券