首先 数据库字段添加deleted_at字段
然后在模型层中引入 SoftDeletes类 并引用
use Illuminate\Database\Eloquent\SoftDeletes;
控制器正常执行删除代码
//软删除
public function del(int $id){
//$res = Articles::where($id)->delete();
$res = Articles::destroy($id);
if($res){
return '删除成功';
}
return '失败';
}
//软删除还原
public function yuan(Request $request){
$id= $request['id'];
Articles::onlyTrashed()->find($id)->restore();
return ['status'=>0,'msg'=>'还原成功'];
}
软删除展示
软删除展示时 普通的查询方法get()查询不出来软删除的内容
要使用特定的函数withTrashed() 来查询才能获取到所有内容
//展示页面
public function show(){
// $data = Articles::paginate(8);
$data=Articles::withTrashed()->paginate(8);
return view('week.show',['data'=>$data]);
}
易错点
接收到的$id为路由附带传入参数 试图层传ID参数如下
1.视图层
展示循环后的id为’$v->id’
<a href="{{route('admin.del',$v->id)}}">删除</a>
2.路由