当时我希望能有一个恢复删除的功能比如说回收站,laravel 的模型为我们提供了很方便的软删除功能 要启用软删除首先数据表需要有 deleted_at 字段 之前玩迁移的时候简单的说了下创建迁移的时候调用...php namespace App\Models; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\...Laravel 的 数据库迁移 有创建这个字段的方法 现在,当你在模型实例上使用 delete 方法, 当前日期时间会写入 deleted_at 字段。.../** * 删除数据 */ public function delete(Test $TestMdl) { $id = 8; $result...= $TestMdl->where('id', $id)->delete(); dump($result); } ?
上一篇讲了Laravel编辑产品-CRUD之edit和update,现在我们讲一下删除产品,方法和前面的几篇文章类似,照着ytkah来操作吧 1,controller的function destroy...ItemController.php public function destroy($id) { $item = Item::find($id); $item->delete...); } 2,模板的编辑,有两个地方,show.blade.php和index.blade.php,用 <input type="submit" class="btn btn-danger" value="<em>DELETE</em>
本文实例讲述了Laravel框架Eloquent ORM删除数据操作。...public function orm4() { $student = Student::find(7);//找到id为7的 $bool = $student- delete...extends Controller { public function orm2() { $num = Student::where('id',' ',3) - delete...(); var_dump($num); } } 这里,id大于三的都会删除,我就不手动演示了 更多关于Laravel相关内容感兴趣的读者可查看本站专题:《Laravel框架入门与进阶教程...》、《php优秀开发框架总结》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》 希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助
在上一篇教程中,我们基于 Eloquent 模型实现了对数据表记录的增删改查操作,今天我们在此基础上介绍两个 Eloquent 模型提供的高级功能 —— 批量赋值和软删除。...作为一个成熟的 ORM 框架,Eloquent 在设计之初肯定不会没有考虑到这样的问题,实际上,我们可以借助模型类中的白名单属性或黑名单属性来解决这个困扰。...Eloquent 模型类默认白名单属性为空,黑名单属性为 *,即所有字段都不会应用批量赋值: /** * 使用批量赋值的属性(白名单) * * @var array */ protected $...实现原理 Eloquent 模型类为我们提供了「软删除」功能的支持。这就意味着,在 Laravel 中,我们不需要编写任何额外代码就可以实现对数据库记录的「软删除」。...要软删除一条记录,在对应模型类实例上调用 delete 方法即可,底层会自动将数据表的 deleted_at 字段设置为当前时间,表示该记录已经被「删除」。
软件版本:PHP 5.4+,MySQL 5.1+ 本文不推荐完全不懂 PHP 与 MVC 编程的人学习。本文不是 “一步一步跟我做” 教程。...本系列教程为入门教程,目的是搞清楚 Laravel 的基本使用方法,切忌本末倒置。 然后将网站根目录配置为 learnlaravel5/public。 如果你不会配置,建议去学会配置,网上资料很多。...模型 Models 接下来我们将接触Laravel最为强大的部分,Eloquent ORM,真正提高生产力的地方,借用库克的一句话:鹅妹子英!...如果你想深入地了解 Eloquent,可以阅读系列文章:深入理解 Laravel Eloquent(一)——基本概念及用法 ---- 接下来进行 Article 和 Page 类对应的 articles...\Page; class PageTableSeeder extends Seeder { public function run() { DB::table('pages')->delete
引言 我们不止一次在系列文章中讲到模型的“软删除”功能,因为现实场景中为了保证数据可追溯,我们几乎不会对数据库进行物理删除。删除数据有可能会造成数据一致性的破坏,进而导致业务逻辑无法跑通。...真实的SQL如下: DELETE FROM events WHERE id = 12; laravel提供了许多语法糖,上面使用 find 和 delete 两个步骤,可以缩减为一个方法 destroy...软删除 在许多情况下,你不会真正想要从数据库中删除记录,而是用一种不再在应用程序中显示它们的方式对其进行注释。这就是所谓的软删除。...Laravel本身支持软删除,只需要进行少量的配置更改,以确保在执行delete或destroy时,模型的记录不会被实际删除。作为一个例子,我们修改Event模型以支持软删除。...namespace App; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\SoftDeletes;
Laravel是一种基于PHP语言的Web开发框架,其中的Eloquent ORM功能为开发者提供了便捷的对象关系映射(ORM)功能,可用于对数据库进行CRUD操作,同时也可以轻松地定义模型关联和查询。...下一、模型定义Eloquent ORM是Laravel框架中的一个基于Active Record模式的ORM,通过模型与数据库表进行映射,实现数据的增删改查操作。...在Laravel框架中,每一个Eloquent ORM模型都对应着一个数据库表,通过继承Illuminate\Database\Eloquent\Model类来定义模型。下面是一个示例:delete();删除多个模型:User::where('id', '>', 5)->delete();
分享给大家供大家参考,具体如下: laravel分为三大数据库操作(DB facade[原始查找],查询构造器[Query Builder],Eloquent ORM): use Illuminate\...$num=DB::table("vipinfo")- where('vip_ID',6)- delete();//删除1条 $num=DB::table("vipinfo")- where('vip_ID...',' ',4)- delete();//删除多条 echo $num; //删除的行数 $num=DB::table("vipinfo")- truncate();//删除整表,不能恢复,谨慎使用 (...ORM 1.简介、模型的建立及查询数据 简介:laravel所自带的Eloquent ORM 是一个ActiveRecord实现,用于数据库操作。...删除数据 //(1)通过模型删除数据 $student=Student::find(11); $student- delete(); //返回bool值 //(2)通过主键删除 $num=Student
本文实例讲述了laravel5.6 框架操作数据 Eloquent ORM用法。分享给大家供大家参考,具体如下: 建立Users模型 <?...php namespace App\Model\Eloquent\Admin; use Illuminate\Database\Eloquent\Model; class Users extends Model...$data=Users::find($id); $data- delete(); //通过主键删除多条 $ret=Users::destroy(1,2,3); $ret=Users::destroy(...[4,5,6]); //删除指定条件 $ret=Users::where('id',' ',2)- delete(); laravel5.6 操作数据查询构建器 更多关于Laravel相关内容感兴趣的读者可查看本站专题...Laravel框架的PHP程序设计有所帮助。
对于任何一个模型,如果需要使用软删除功能,需要在模型中使用 Illuminate\Database\Eloquent\SoftDeletes这个 trait。....已删除数据可以恢复 Model的软删除功能实现 Illuminate\Database\Eloquent\Model中delete方法源码: public function delete() {...Laravel中软删除数据的过滤也是使用这种方式实现的。...以上就是Laravel实现软删除的大概逻辑。这里有一个细节,Laravel中软删除的标记是一个时间格式的字段,默认delete_at。通过是否为null判断数据是否删除。...但是有的时候,项目中会使用一个整形的字段标记数据是否删除。在这样的场景下,需要对Laravel的软删除进行修改才能够实现。
本文实例讲述了laravel框架数据库操作、查询构建器、Eloquent ORM操作。...,['sandy',19]); //删除一条数据 DB::delete('delete from student where name=?'...DB::table('student')- where('id',' =',1006)- delete(); //删除整个表 DB::table('student')- truncate(); //修改数据...Laravel内置的Eloquent ORM提供了一种便捷的方式帮助你组织数据库数据,每张数据表都对应一个与该表进行交互的模型(Model),通过Model类,你可以对数据表进行查询、插入、更新、删除等操作...,一是通过find方法删除指定主键,二是通过查询构建器: //destroy删除指定主键值 Student::destroy(1006,1007); //通过查询构建器删除 Student::where
要删除一个模型,调用模型实例上的 delete 方法: $flight = App\Flight::find(1); $flight- delete(); 通过主键删除模型 在上面的例子中,我们在调用...$deletedRows = App\Flight::where('active', 0)- delete(); 注:通过 Eloquent 进行批量删除时,deleting 和 deleted 模型事件在删除模型时不会被触发...,这是因为在进行模型删除时不会获取模型。...); }); 现在,当调用模型的 delete 方法时,deleted_at 列将被设置为当前日期和时间,并且,当查询一个使用软删除的模型时,被软删除的模型将会自动从查询结果中排除。...Laravel 自带的软删除功能就使用了全局作用域来从数据库中拉出所有没有被删除的模型。编写自定义的全局作用域可以提供一种方便的、简单的方式来确保给定模型的每个查询都有特定的条件约束。
本文实例讲述了Laravel5.1 框架模型软删除操作。...::find(3); $article- delete(); } 1.3 批量删除 public function getDelete() { // 返回一个整形 删除了几条数据...php namespace App; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\SoftDeletes...(); } ↑ 当我们删了这条数据后 在数据表中的表示是 deleted_at 不为空 它是一个时间值,当delete_at不为空时 证明这条数据已经被软删除了。...》 希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。
代码时间 常规的删除操作分两步进行,一步是把数据从数据库中查询出来,使用laravel模型的方法, 则返回的是一个模型对象。第二步,调用模型对象的delete方法。...代码如下: $contact = Contact::find(5);$contact->delete(); 如果像上面的代码那样,已知数据条目的ID,那么可以直接使用destroy方法进行删除: Contact...上面的delete方法,destroy方法,都是对数据的物理删除。...所以引入了软删除的概念,就是在表内添加一个字段,用于标记,这一行条目是否算是删除状态。在laravel中, 这个软删除字段默认是 deleted_at。你也可以在模型中手动指定。...写在最后 本文从laravel模型的写操作删除动作,讲到了软删除的概念。进而引申出来本地作用域和全局作用域的使用。软删除几乎贯穿了我们应用的始终,需要大家勤学苦练。
一、Laravel核心目录文件介绍 app:程序的核心代码和业务逻辑代码,其中的Http目录是我们业务逻辑的存放点 bootstrap:包含框架启动的和自动加载文件 config:包含所有程序中的配置文件..., [ 21, 'EnzoLiu' ]); 3.1.4 删除数据 (返回int 受影响行数) $result = DB::delete('delete from student where name...关键词: delete 删除数据 truncate 清空表,并将ID自增重置为0 示例代码: delete DB::table("表名")->where('条件')->delete(); truncate...ORM 删除数据 使用模型删除数据 通过主键值删除数据 根据指定条件删除数据 //1....$name }} 模板中执行php代码 {{ date('Y-m-D H:i:s', time()) }} 模板中强制输出 @{{ $name }} 字符串 @{{ $name }} 模板注释格,不会在查看源代码中显示
1、简介 Laravel 让连接多种数据库以及对数据库进行查询变得非常简单,不论使用原生 SQL、还是查询构建器,还是 Eloquent ORM。...目前,Laravel 支持四种类型的数据库系统: MySQL Postgres SQLite SQL Server 配置 Laravel 让连接数据库和运行查询都变得非常简单。...默认情况下,Laravel 示例环境配置已经为 Laravel Homestead 做好了设置,当然,你也可以按照需要为本地的数据库修改该配置。...读/写连接 有时候你希望使用一个数据库连接做查询,另一个数据库连接做插入、更新和删除,Laravel 使得这件事情轻而易举,不管你用的是原生 SQL,还是查询构建器,还是 Eloquent ORM,合适的连接总是会被使用..., ['John']); 运行删除语句 delete方法用于删除数据库中已存在的记录,和update一样,该语句返回被删除的行数: $deleted = DB::delete('delete from
当删除该用户时,想要同时删除关联的photo表的相关记录。应该用什么办法呢? ? 本文就来说说 Laravel ORM 操作中的事件钩子。...$user->delete(); 当该事件发生时,我们接着执行关联的删除。...$this->photo()->delete(); 如果程序中每个地方逻辑上进行了删除操作,岂不是都要手动这么重复写,这些重复代码真的是无用功。...那么Laravel中是怎么写的呢,如何自动在触发了 user 的删除时间,自动进行 photo 的删除操作?我们可以借助于 Eloquent ORM 提供的 deleting 事件,做删除动作。...写在最后 本文通过3种方式,实现了Laravel中关联删除表记录的功能。
这个资源可以是一个类的实例、一个路径或是一个文件等,提供服务就是提供一种资源(Illuminate\Routing\ControllerServiceProvider.php) C.PHP中的特殊语法 1.魔术方法:通常用户不会主动调用...Laravel示例(Illuminate\Database\Eloquent\Model.php) 2.魔术常量:__LINE__、__FILE__、__DIR__、__FUNCTION__、__CLASS...示例:Illuminate\Database\Eloquent\Model.php,如query()方法中(new static)->newQuery(); F.Laravel中使用的其他新特性 1.trait...ORM 1.两个阶段 Eloquent ORM查询构造器的生成,Illuminate\Database\Eloquent\Model::newQuery() 操作命令的执行,Illuminate\Database...通过中间件StartSession开启会话 2.根据sessionID来恢复之前 存储的数据,在请求处理期间可以使用恢复的数据,同时也可以向session中继续添加或删除数据。
「ActiveRecord」是 ORM 的一种实现模式,Eloquent 则是 Laravel 版的「ActiveRecord」。...通过模型类删除对应数据表记录和更新记录类似,都要先获取对应操作模型实例,删除对应记录更简单,获取到模型实例后,直接调用其删除方法即可: $post = Post::find(31); $post->delete...(); 这样,就完成了 id = 31 对应数据表记录的删除,你还可以通过 Eloquent 提供的 destroy 方法一次删除多条记录,通过数组传递多个主键 ID 即可: Post::destroy...([1,2,3]); 当然,你也可以通过查询构建器的方式删除指定记录: $user = User::where('name', '学院君')->fisrt(); $user->delete(); 结语...本系列教程首发在Laravel学院(laravelacademy.org)
看了接下来的Laravel模型的使用之后你就会爱上Laravel的Eloquent ORM模型,这也是我直接介绍模型而不讲解其他数据库操作的原因。...Laravel 数据库配置 要想使用模型,第一个要设置的当然是数据库信息。...Eloquent ORM Laravel 的 Eloquent ORM 提供了漂亮、简洁的 ActiveRecord 实现来和数据库交互。每个数据库表都有一个对应的「模型」用来与该表交互。...$daming->name = 'daming';// 赋值字段名 $xiaoming->save();// 保存至数据库 $daming->save();// 保存至数据库 drop 获取对象 删除对象...$xiaoming = Student::find(1); $xiaoming->delete(); Eloquent ORM是通过调用laravel内置的方法来对数据库进行增删改查等操作的,这种方式很大程度上解决了数据库注入等安全问题
领取专属 10元无门槛券
手把手带您无忧上云