laravel 获得上一个路由地址(带参数)技巧
有时候我们在编辑等操作中会有返回上一个之类的需求,我们就可以利用laravel
的url()方法
dd(url()->previous());//获得上一个页面路由地址
打印结果如下:
实际模板中可以直接这样写(返回上一页)
<a href="{{url()->previous()}}" class="btn btn-info">返回</a>
但是如果涉及到编辑操作的话,此方法有bug(因为执行修改后返回上一页还是加载修改的方法),解决方法如下
//加载修改模板方法
public function edit(Request $request,$id)
{
if(!session('success') && !session('error')){//因为执行修改后返回一个session,用于判断
$request->session()->put('page',url()->previous());
}
$row=DB::table('shop_cate')->where('cat_id','=',$id)->first();
return view('admin.Cate.edit',['row'=>$row]);//加载修改模板
}
//执行修改
public function erupdate(Admincateupdate $request){
...
if(false !== DB::table('shop_cate')->where('cat_id',$id)->update($data)){
return back()->with('success','修改成功');
}
return back()->with('error','修改失败');
}
//模板
<a href="{{session('page')}}" class="btn btn-info">返回</a>