数据库的删除

laravel框架数据库的删除

(1)向数据库中的相应数据表添加delete_at字段
  1>这里我们使用数据迁移来实现
  php artisan make:migration alter_posts_deleted_at --table=posts

2>此时在database/migrations文件夹下会生成一个相应文件,更改如下

<?php use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; class AlterPostsDeletedAt extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::table('posts', function (Blueprint $table) { $table->softDeletes(); }); } ...//其它方法 }   3>再次运行命令 php artisan migrate ,发现数据库相应的数据表中已经有delete_at字段了   在模型上调用 delete 方法时,deleted_at 字段将会被设置成目前的日期和时间。而且,当查找有启用软删除的模型时,被软删除的模型将会自动从所有查找结果中排除。   //在模型上调用delete方法   $post = Post::find(6); $post->delete();   //要确认指定的模型实例是否已经被软删除,可以使用 trashed 方法:      if($post->trashed()){     echo '软删除成功!';     dd($post);   }else{     echo '软删除失败!';   }   //查找被软删除的模型   $flights = App\Flight::withTrashed() ->where('account_id', 1) ->get();   //onlyTrashed 方法会只获取已被软删除的模型:   $flights = App\Flight::onlyTrashed() ->where('airline_id', 1) ->get();   //恢复单个已经被软删除的模型   $flight = Flight::withTrashed()-find(1); //这里要注意如果被软删除直接find是查不到的   $flight->restore();   //恢复多个模型   App\Flight::withTrashed() ->where('airline_id', 1) ->restore();   // 强制删除单个模型实例...   $flight->forceDelete();   // 强制删除所有相关模型...   $flight->history()->forceDelete();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值