​物理删除什么意思?怎么操作?

物理删除什么意思?怎么操作?

我们不止一次在系列文章中讲到模型的“软删除”功能,因为现实场景中为了保证数据可追溯,我们几乎不会对数据库进行物理删除。删除数据有可能会造成数据一致性的破坏,进而导致业务逻辑无法跑通。所以,软删除的概念,极为重要。

3分钟短文:Laravel说要用软删除,可不要真删

本文我们仍然不厌其烦地讲解软删除的功能。

物理删除

其实就是真实地把数据从数据库条目清除,laravel模型提供了开箱即用的方法。比如下面这样使用:

$event = Event::find(12); $event->delete();

首先使用primary key查询出需要的条目,返回一个Event对象实例,然后调用 delete 方法进行删除。真实的SQL如下:

DELETE FROM events WHERE id = 12;

laravel提供了许多语法糖,上面使用 find 和 delete 两个步骤,可以缩减为一个方法 destroy,用法如下:

Event::destroy(12);

这样一行就搞定了。

软删除

在许多情况下,你不会真正想要从数据库中删除记录,而是用一种不再在应用程序中显示它们的方式对其进行注释。这就是所谓的软删除。

Laravel本身支持软删除,只需要进行少量的配置更改,以确保在执行delete或destroy时,模型的记录不会被实际删除。作为一个例子,我们修改Event模型以支持软删除。

首先创建一个新的迁移,将名为deleted_at的列添加到events表中:

php artisan make:migration add_soft_delete_to_events --table=events

执行成功,输出内容如下:

Created Migration: 2023_10_08_184402_add_soft_delete_to_events

接着在生成的迁移文件内实现迁移使用的 up 方法:

public function up() { Schema::table('events', function(Blueprint $table)  {  $table->softDeletes();  }); }

还有用于迁移回滚的 down 方法:

public function down() { Schema::table('events', function(Blueprint $table)  {  $table->dropColumn('deleted_at');  }); }

修改完毕,在命令行执行迁移指令:

php artisan migrate

执行成功输出内容:

Migrating: 2023_10_08_184402_add_soft_delete_to_events Migrated: 2023_10_08_184402_add_soft_delete_to_events

模型SoftDelete

有了数据库表的支持,我们才能在模型内使用软删除的功能。

其实原理很简单,就是为模型追加一个全局作用域,为每个查询子句追加上如下筛选条件:

WHERE deleted_at IS NULL

laravel已经为我们写好这部分逻辑了,在模型内引入如下trait:

namespace App; use IlluminateDatabaseEloquentModel; use IlluminateDatabaseEloquentSoftDeletes;

在类内引入trait,并手动指定修改器,也就是说deleted_at字段,我们使用 Carbon 进行实例化操作。

class Event extends Model { use SoftDeletes; protected $dates = ['created_at','deleted_at','started_at','updated_at']; }

保存这些更改之后,下次删除与此模型关联的记录时,deleted_at列将被设置为当前时间。任何设置deleted_at为日期时间值的记录,都不会包含在任何查询结果中,因此看起来已经被删除了

这样操作非常有用,因为误删除的数据,随时可以通过设置deleted_at = null而恢复到正常的业务流程中,比如删除的用户,删除的订单,等等其他资源。

如果你在代码内要坚持查询全量数据,也包含软删除了的数据,那么代码这样写:

$events = Event::withTrashed()->get();

写在最后

本文我们有重温了laravel的模型软删除功能,通过创建迁移文件,修改数据库表,追加软删除字段。并在模型内引入 SoftDelete 代码片段引入软删除的程序功能。

​鲛人被捕捉事件曝光 传说中的鲛人真的存在吗
​鲛人被捕捉事件曝光 传说中的鲛人真的存在吗

鲛人被捕捉事件曝光 传说中的鲛人真的存在吗 鲛人是中国古代神话传说当中神秘生物,与西方神话传说的美人鱼非常相似,可以是说中国版的“美人鱼”,迄今为止鲛人的传说一直流...

​地藏王菩萨来历 地藏王菩萨为什么不成佛

地藏王菩萨来历 地藏王菩萨为什么不成佛 地藏王菩萨来历 地藏王菩萨的传说在中国有着悠久历史,许多虔诚拜佛的人,都对其充满崇拜和敬意,但对于地藏王菩萨来历,却多数都限于...

​刹车油多久换一次(刹车油具体什么时候需要换一次)
​刹车油多久换一次(刹车油具体什么时候需要换一次)

刹车油多久换一次(刹车油具体什么时候需要换一次) 我们很多的司机朋友都不知道刹车油具体什么时候需要换,买车的时候可能4S店会告诉我们,或者我们也可以从汽车的保养手册上...

​中国排名前十的保险公司(排名前10的保险公司)

中国排名前十的保险公司(排名前10的保险公司) 保险,是一种经济交往活动,通过经济媒介,在一定的约定下,以避免及减少财产风险为目的的合同。 目前,我国保险行业发展迅速,已...

​小说开头的“楔子”是什么意思?(小说开头的楔子是什么意思)
​小说开头的“楔子”是什么意思?(小说开头的楔子是什么意思)

小说开头的“楔子”是什么意思?(小说开头的楔子是什么意思) 小说契子的写法有许多种,当然可以是故事中间的一个悬念,不一定必须衔接正文开头。 如果将一部篇小说看作是一场跌...

​奶茶代表什么意思 奶茶代表的意思是什么

奶茶代表什么意思 奶茶代表的意思是什么 1、奶茶不代表什么意思是饮品的一种,奶茶具有高糖分、高脂肪、高咖啡因及反式脂肪酸含量等四大问题。 2、奶茶为蒙古高原游牧民族的日...

​现在哪个天气好些啊(最近哪里的天气比较好)
​现在哪个天气好些啊(最近哪里的天气比较好)

现在哪个天气好些啊(最近哪里的天气比较好) 现在低天气哪个地方天气好些云南会好墨迹啊彩云墨迹较好 虽然在哪里说距离之前的寒潮南下墨迹已经过去了地方好些天,现在哪个地方的...

​文静女孩的性格特点是什么样的,安静的女生会有这些优秀的特质
​文静女孩的性格特点是什么样的,安静的女生会有这些优秀的特质

文静女孩的性格特点是什么样的,安静的女生会有这些优秀的特质 如果说热闹的人用眼看世界,那么安静的人就是用心感受世界。看到的是外在,用心感受的才是真情。 文静的女生常...

​世界上最奇葩的生果,金丝绞瓜果肉相似粉丝
​世界上最奇葩的生果,金丝绞瓜果肉相似粉丝

世界上最奇葩的生果,金丝绞瓜果肉相似粉丝 生果由于其养分丰厚,吃起来又便利,遭到了群众的热烈迎接。跟着科技的启展,生果的格式也是多种百般,除了普遍的生果。世界上还有...

​上海的几个大桥(上海最著名的五大桥)
​上海的几个大桥(上海最著名的五大桥)

上海的几个大桥(上海最著名的五大桥) 上海最著名的五大桥:松浦大桥、南浦大桥、杨浦大桥、徐浦大桥、卢浦大桥,黄浦江上的这5座大桥见证了上海的日新月异,也是上海发展的“功...

​山西省区划(山西省面积是多少平方千米)
​山西省区划(山西省面积是多少平方千米)

山西省区划(山西省面积是多少平方千米) 山西省地处黄土高原中部,东以太行山与河北省相邻,北部是内蒙古自治区,南部紧靠河南省,西部以黄河与山西省相望。 因其位于太行山...

​螃蟹为什么横着走原因(螃蟹为何横着走不能直着走)
​螃蟹为什么横着走原因(螃蟹为何横着走不能直着走)

螃蟹为什么横着走原因(螃蟹为何横着走不能直着走) 在生活中,我们都见过螃蟹(比如我们极地海洋馆里那几只笨萌笨萌的帝王蟹),螃蟹的种类有很多,不同种类的生存方式也不相...

​陈道明妻子承认左小青(陈道明绯闻女友左小青近况曝光)
​陈道明妻子承认左小青(陈道明绯闻女友左小青近况曝光)

陈道明妻子承认左小青(陈道明绯闻女友左小青近况曝光) 近日,知名演员左小青被拍摄到深夜与友人聚餐,当天的她身穿黑色外套,虽然是是素颜,但是皮肤看上去细腻光滑,整个人...

​爸爸去哪儿郭涛和出演的电视剧 郭涛有几个孩子

爸爸去哪儿郭涛和出演的电视剧 郭涛有几个孩子 演员郭涛成功的塑造了很多经典的荧屏角色,随着爸爸去哪儿第一季的热播,更是人气大涨,备受观众们的喜欢和认可,以下分享一下...

​中国好声音冠军有哪些人(历届中国好声音十强名单)
​中国好声音冠军有哪些人(历届中国好声音十强名单)

中国好声音冠军有哪些人(历届中国好声音十强名单) 近日,《中国好声音》邢晗铭夺冠在微博上引起热议,和以往好声音冠军不同的是,她上热搜的话题并不是唱功了得,而是被网友谩...

​指南针在古代是谁发明的(指南针是谁发明的)
​指南针在古代是谁发明的(指南针是谁发明的)

指南针在古代是谁发明的(指南针是谁发明的) 近代地质学家章鸿钊汇编的《古矿录》,“以行省为经,以朝代为纬”,全面整理注释了两汉以来各类史书中华夏大地的矿产位置。 其...

​张小凡简介 诛仙张小凡结局如何
​张小凡简介 诛仙张小凡结局如何

张小凡简介 诛仙张小凡结局如何 张小凡简介 张小凡是《诛仙·青云志》中的男主角,因为之前原著小说已经有了很深的读者基础了,所以对于这个人物许多人都并不陌生。而最近电视...

​适合女性长期喝的花茶(提神解困还养颜的4款花茶)
​适合女性长期喝的花茶(提神解困还养颜的4款花茶)

适合女性长期喝的花茶(提神解困还养颜的4款花茶) 花茶是集茶香与花香为一体的茶,它既维持了茶汤本该有的滋味,同时又有清新的花香。品上一口入口回甘、令人神清气爽,对身...

​上官婉儿墓在哪
​上官婉儿墓在哪

上官婉儿墓在哪 上官婉儿是唐朝一代才女,杰出的政治家,她的一生荣辱兼并。唐景龙四年,李隆基发动宫廷政变,上官婉儿被冠以以乱臣贼子之名处死。上官婉儿墓在哪引起了许多人...

​清点寰球最恐惧的十大病院,特伦顿精力病病院最为吓人!
​清点寰球最恐惧的十大病院,特伦顿精力病病院最为吓人!

清点寰球最恐惧的十大病院,特伦顿精力病病院最为吓人! 在大师的影像中,病院该当是救死扶伤的场合,天天该当都是人满为患的,何处有恐惧之说?然而是大师别忘了用来停搁尸身...