当前位置: 首页 > news >正文

为你自己学laravel - 15 - model的更新和删除

为你自己学laravel。

model的部分。

这一次讲解的是model当中怎么从数据库当中更新数据和删除数据。


在这里插入图片描述

先从数据库当中抓出来资料。

当然我们是使用php artisan tinker进入到终端机。

在这里插入图片描述

我们的做法是想要将available这个栏位修改成为true。

第一种更新方法

image-20231220215311452

上面我们就是修改了对象当中的一个栏位,修改了之后,我们要记得使用$b1->save()这种方法。

image-20231220215350266

上面的这张图的意思,就是我们进行验证的时候,查看的时候,看到了,真的是已经变成了1。


sqlite当中并没有资源处理true或者false,所以它使用的tiny integer这种东西处理布尔值。


上面的做法,就是更新的第一种做法了。

第二种更新方法

image-20231220215538776

image-20231220215555285

$b2->update(['available' => true])

这种做法就是直接呼叫update方法,就可以做到了。

你就不需要呼叫save方法了。


验证查询一下:

image-20231220215803655

Book::where('available', true)

这个做法,就是查询一下,所有的available的字段是true的book了。

批量更新

Book::where('available', true)->update(['available' => false])

这是要将所有在架子上面的书,都变成了false。

更新,就是将资料抓出来,然后更新它。

删除

image-20231220221826447

这个是第一步,就是先在资料库当中新增了一个书籍。

我现在的目的,就是想要删除掉,我已经添加的这一本。

第一种删除方法

image-20231220221917596

这是使用实例的方法,就是先将数据库当中的资料,先抓出来,抓出来了之后,再砍掉的,这种做法。

第二种删除方法

image-20231220222021543

这是使用类的方法,就是destroy的方法。

软删除-逻辑删除

电商网站当中,删除不是真正的删除的哦~。

在laravel的ORM当中,算是有半内建的套件,是可以用的。

这个动作,我们叫做soft-delete

laravel的做法是:帮你建立一个栏位,delete_at,默认值是null的。

如果我们进行soft-delete,我们就会将删除的时间,写到delete_at这个栏位。

我们要做软删除,就要新增一个栏位。

我们要对资料表做栏位的修改,我们应该通过migration来做的。

image-20231220223302791

php artisan make:migration add_deleted_at_to_books

我们这里,是使用了,migration的魔术语法。

image-20231220223343347

上面就是为我们新增好的migration。

image-20231220223416281

$table->dataTime('deleted_at');

这是一种创建软删除的方法。

image-20231220223516753

laravel当中会提供一个东西,就是上面的内容。

$table->softDeletes();

有了这个方法,你就不需要自己写了。

我们是推荐这一种写法的。

然后在migration的down当中应该写什么呢?

image-20231220223641499

$table->dropSoftDeletes();

然后就可以跑到终端机当中执行了:

image-20231220223721580

php artisan migrate

然后,我们去数据库当中看一看,发现是真的有诶~

image-20231220223804466

image-20231220223817836


要注意,不是你在数据库当中添加了这个delete_at栏位之后就有效果的,你还是需要在model当中动一些手脚的。

image-20231220224157135

就是像是上面这个样子的,就是要在model的类当中,使用模组use SoftDeletes;


假设你是不希望在数据库表当中,用于软删除的栏位是delete_at这个栏位的话。

你也是可以在model当中进行设定的。


在php artisan tinker当中进行验证。

image-20231220224342078

这个当然是删除的一般的步骤了。

image-20231220224409888

但是在数据库当中,还是有数据的,delete_at这个栏位是有时间的。


我软删除了之后,我还是想要找到他的,我怎么找到他呢?

image-20231220224538929

总结

$b1->available = true
$b1->save()$b2->update(['available' => true])$b3->delete()Book::destroy(4)软删除的方法:第一是在migration当中使用操作数据库表的栏位,新增delete_at这个栏位。第二是在model当中要使用use SoftDelete这种套件。

image-20231220224502438

相关文章:

为你自己学laravel - 15 - model的更新和删除

为你自己学laravel。 model的部分。 这一次讲解的是model当中怎么从数据库当中更新数据和删除数据。 先从数据库当中抓出来资料。 当然我们是使用php artisan tinker进入到终端机。 我们的做法是想要将available这个栏位修改成为true。 第一种更新方法 上面我们就是修改了对…...

列举mfc140u.dll丢失的解决方法,常见的mfc140u.dll问题

在使用电脑的过程中,有时会遇到mfc140u.dll文件丢失的问题,导致一些应用程序无法正常启动。本文将介绍mfc140u.dll丢失的常见原因,并提供相应的解决办法。同时,还会列举一些与mfc140u.dll丢失相关的常见问题和解答。 第一部分&…...

智能优化算法应用:基于野狗算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于野狗算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于野狗算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.野狗算法4.实验参数设定5.算法结果6.参考文献7.MA…...

DC-8靶场

目录 DC-8靶场链接: 首先进行主机发现: sqlmap得到账号密码: 反弹shell: exim4提权: Flag: DC-8靶场链接: https://www.five86.com/downloads/DC-8.zip 下载后解压会有一个DC-8.ova文件…...

SQL Server 安装教程

安装数据库 1、启动SQL Server2014安装程序,运行setup.exe文件,打开”SQL Server安装中心“对话框,单击左侧 的导航区域中的”安装“选项卡。 2、选择”全新SQL Server独立安装或向现有安装添加功能“,启动SQL Server2014安装向导…...

快猫视频模板源码定制开发 苹果CMS 可打包成双端APP

苹果CMS快猫视频网站模板源码,可用于开发双端APP,后台支持自定义参数,包括会员升级页面、视频、演员、专题、收藏和会员系统等完整模块。还可以直接指定某个分类下的视频为免费专区,具备完善的卡密支付体系,无需人工管…...

【C++】理解string类的核心理念(实现一个自己的string类)

目录 一、引言 二、自我实现 1.成员变量的读写 2.构造与析构 3.迭代器 4.插入字符或字符串 尾插 中间插入 5.删除字符或子字符串 6.查找字符或子串 7.获取子串 三、完整代码 四、补充 一、引言 实现自己的 string 类是学习 C 语言和面向对象编程的一个好方法。通过…...

conda 虚拟环境使用

查看已有的虚拟环境 conda env list 创建虚拟环境且带python conda create -n test123 python3.7 激活虚拟环境(To activate this environment) conda activate test123 安装需要的包 python -m pip install opencv-python 退出虚拟环境(To…...

C# 使用MSTest进行单元测试

目录 写在前面 代码实现 执行结果 写在前面 MSTest是微软官方提供的.NET平台下的单元测试框架;可使用DataRow属性来指定数据,驱动测试用例所用到的值,连续对每个数据化进行运行测试,也可以使用DynamicData 属性来指定数据&…...

基于Java (spring-boot)的宠物管理系统

一、项目介绍 1、用户端功能: 首页:展示公告列表,宠物科普,介绍流浪宠物,热门活动。 宠物领养:用户搜索想要领养宠物,申请领养,查看自己领养的宠物。 宠物救助:用户能…...

基于博弈树的开源五子棋AI教程[1 位棋盘]

0 引子 常见的五子棋棋盘大小为15x15&#xff0c;最直观的表示就是一个二维数据。本文为了易于拓展一开始使用的是QVector<QVector>的数据&#xff0c;但是在分支因子为10的情况下只能搜索到4层左右&#xff0c;后面深度加深&#xff0c;搜索时间呈指数倍数增长。这种实…...

Java Catching and Handling Exceptions(二)

一、Try with resources语句 try with resources语句是声明一个或多个资源的try语句。资源是程序使用完后必须关闭的对象。try with resources语句确保在语句末尾关闭每个资源。任何实现java.lang.AutoCloseable的对象&#xff08;包括实现java.io.Closeable的所有对象&#x…...

【HarmonyOS开发】ArkTs关系型和非关系型数据库的存储封装

前面使用了首选项的存储方式&#xff0c;因此将其他的两种存储方式&#xff08;键值型数据库和关系型数据库&#xff09;也学习一下&#xff0c;简单记录一下&#xff0c;并进行封装&#xff0c;方便后续使用。 1、效果预览 2、使用条件 2.1 键值型数据库 键值型数据库实现数据…...

Latex编译出来的pdf文件缺少参考文献和交叉引用

参考文件通常需要在首次编译后&#xff0c;再次编译添加 依次执行下面的命令即可&#xff1a; xelatex main.tex main.tex为需要编译的主tex文件 biber mainxelatex main.tex 如果编译过程中遇到错误&#xff0c;请删除所有辅助文件和已打开的pdf文件后重试 辅助文件包括&#…...

sql_lab靶场搭建以及存在的一些问题

sql_lab靶场搭建问题 首先检查小皮版本 把小皮改到5.3.29版本如果没有可以直接点击更多版本进行选择安装 当版本不对时则会暴出这种错误 SETTING UP THE DATABASE SCHEMA AND POPULATING DATA IN TABLES: Fatal error: Uncaught Error: Call to undefined function mysql_co…...

Https接口调用问题

使用场景: 因为项目需要爬点接口数据, 接口是https, 在网上找的笔记整理了一下. 仅供参考 1. 调用Https的Get方法 /*** 只需要url** param url* return*/public static String doGetForHTML(String url) {return doGetForHTML(url, null);}/*** param url 请求地址* para…...

CSS自适应分辨率 amfe-flexible 和 postcss-pxtorem:大屏高宽自适应问题

前言 继上篇《CSS自适应分辨率 amfe-flexible 和 postcss-pxtorem》。 发现一个有趣的问题&#xff0c;文件 rem.js 中按照宽度设置自适应&#xff0c;适用于大多数页面&#xff0c;但当遇到大屏就不那么合适了。 问题 使用宽度&#xff0c;注意代码第2 和 4 行&#xff1a;…...

SQL面试题挑战01:打折日期交叉问题

目录 问题&#xff1a;SQL解答&#xff1a;第一种方式&#xff1a;第二种方式&#xff1a; 问题&#xff1a; 如下为某平台的商品促销数据&#xff0c;字段含义分别为品牌名称、打折开始日期、打折结束日期&#xff0c;现在要计算每个品牌的打折销售天数&#xff08;注意其中的…...

三大主流前端框架介绍及选型

在前端项目中&#xff0c;可以借助某些框架&#xff08;如React、Vue、Angular等&#xff09;来实现组件化开发&#xff0c;使代码更容易复用。此时&#xff0c;一个网页不再是由一个个独立的HTML、CSS和JavaScript文件组成&#xff0c;而是按照组件的思想将网页划分成一个个组…...

云原生消息流系统 Apache Pulsar 在腾讯云的大规模生产实践

导语 由 InfoQ 主办的 Qcon 全球软件开发者大会北京站上周已精彩落幕&#xff0c;腾讯云中间件团队的冉小龙参与了《云原生机构设计与音视频技术应用》专题&#xff0c;带来了以《云原生消息流系统 Apache Pulsar 在腾讯云的大规模生产实践》为主题的精彩演讲&#xff0c;在本…...

Simulink与Plecs联合仿真实现三相桥式电路能量双向流动

simulinkplecs联合仿真源件&#xff0c;三相桥式电路&#xff0c;采用母线电压外环与电流内环控制&#xff0c;可整流也可逆变并网&#xff0c;实现能量双向流动&#xff0c;采用SVPWM调制方式。 1.plecssimulink 2.SVPWM 3.双闭环 支持simulink2022以下版本&#xff0c;联系跟…...

【Java】UTF-8变长编码及其3字节存储奥秘

UTF-8 是一种变长编码&#xff0c;一个字符可能由 1 到 4 个字节组成。 解码时&#xff08;将字节数组转回 String&#xff09;&#xff0c;计算机并不需要“猜”或者去查表&#xff0c;因为长度信息本身就包含在字节的“头部”里。这就是 UTF-8 设计的精妙之处&#xff1a;它是…...

开局掌控者:EdB Prepare Carefully - RimWorld自定义体验革命

开局掌控者&#xff1a;EdB Prepare Carefully - RimWorld自定义体验革命 【免费下载链接】EdBPrepareCarefully EdB Prepare Carefully, a RimWorld mod 项目地址: https://gitcode.com/gh_mirrors/ed/EdBPrepareCarefully 副标题&#xff1a;如何告别随机开局&#xf…...

力扣原题《长度最小的子数组》,无序版(不考虑元素必须要相邻)纯手搓,已验证,有序版在下一篇

给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 子数组 [numsl, numsl1, …, numsr-1, numsr] &#xff0c;并返回其长度。如果不存在符合条件的子数组&#xff0c;返回 0 。 示例 1&#xff1a; 输入&#xff1a;t…...

大模型赋能金融底稿搜索:告别大海捞针,实现高效精准合规管理!

文章主要介绍了达观数据利用大模型技术升级其底稿搜索产品&#xff0c;为金融行业带来革命性的变化。传统底稿搜索存在关键词匹配局限、非结构化文件解析困难、溯源关联不便和合规风险高等问题。达观数据通过深度语义理解、全格式解析兼容、智能要素抽取、全链路溯源关联和开箱…...

3个核心价值重塑漫画阅读体验:Venera跨平台漫画阅读器全面解析

3个核心价值重塑漫画阅读体验&#xff1a;Venera跨平台漫画阅读器全面解析 【免费下载链接】venera A comic app 项目地址: https://gitcode.com/gh_mirrors/ve/venera 当你在手机上读到精彩漫画章节却不得不中断通勤&#xff0c;回家后打开电脑却要重新寻找上次阅读位置…...

跨语言沟通的革命性突破:FunASR语音翻译系统全解析

跨语言沟通的革命性突破&#xff1a;FunASR语音翻译系统全解析 你是否还在为国际会议中的语言障碍而烦恼&#xff1f;是否因跨国团队协作中的沟通不畅而效率低下&#xff1f;FunASR语音翻译系统将彻底改变这一现状&#xff0c;让跨语言交流如母语般自然流畅。读完本文&#xf…...

戴尔Precision Pro商务笔记本回归,新一代产品聚焦便携性

看起来2026年是戴尔按下重启键的一年——在消费者和商用产品线中&#xff0c;戏剧性的品牌重塑都在被回归。有时候&#xff0c;老品牌确实是好品牌&#xff1a;熟悉的XPS名称和设计今年回归是有原因的&#xff0c;绝对不是因为戴尔Premium有正面的品牌认知度。在戴尔商务产品方…...

Rainmeter社区贡献者奖励计划:实物与虚拟奖励

Rainmeter社区贡献者奖励计划&#xff1a;实物与虚拟奖励 【免费下载链接】rainmeter Desktop customization tool for Windows 项目地址: https://gitcode.com/gh_mirrors/ra/rainmeter Rainmeter作为一款强大的Windows桌面自定义工具&#xff0c;其蓬勃发展离不开全球…...

RMBG-1.4动态演示:AI净界处理长发人物的流畅抠图过程

RMBG-1.4动态演示&#xff1a;AI净界处理长发人物的流畅抠图过程 1. 引言&#xff1a;当抠图遇上飘逸长发 你有没有遇到过这样的烦恼&#xff1f;想给一张长发飘飘的人像照片换个背景&#xff0c;结果发现发丝边缘怎么都处理不干净&#xff0c;要么像被狗啃过一样参差不齐&am…...