
本教程详细介绍了在lar*el应用中,如何实现数据删除操作后自动返回到用户发起请求的上一页。核心方法是利用`redirect()->back()`进行重定向,并结合`session()->flash()`机制,向用户提供操作成功的反馈信息。文章将通过具体的控制器代码和视图模板示例,演示这一常见需求的实现步骤和最佳实践。
在Web应用开发中,用户进行删除操作后,一个常见的需求是自动返回到操作前的页面,而不是停留在空白页或删除操作的路由响应页。Lar*el框架提供了简洁有效的方法来处理这种页面重定向,并能同时向用户提供操作反馈。
要实现在Lar*el中删除记录后返回上一页,主要依赖于两个关键功能:
我们将通过修改控制器中的删除方法和视图文件来完成此功能。
首先,需要更新处理删除逻辑的控制器方法。在执行数据库删除操作后,调用session()->flash()来设置一个成功消息,然后使用return redirect()->back()将用户重定向回上一页。
以下是修改后的控制器示例:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use DB; // 引入DB门面
use App\Http\Requests;
use App\Http\Controllers\Controller;
// use App\Http\Controllers\View; // 此行通常不需要,View门面已全局可用
class TableditControllerRolete extends Controller
{
/**
* 显示数据列表
*
* @return \Illuminate\View\View
*/
public function index()
{
$data = DB::table('Rolete')->get();
return view('table_edit', compact('data'));
}
/**
* 删除指定ID的记录并重定向回上一页
*
* @param int $id 待删除记录的ID
* @return \Illuminate\Http\RedirectResponse
*/
public function destroy($id)
{
// 执行数据库删除操作
$deleted = DB::delete('delete from Rolete where ProdusID = ?', [$id]);
// 根据删除结果设置会话消息
if ($deleted) {
session()->flash('success', '记录删除成功!');
} else {
session()->flash('error', '记录删除失败,请重试。'); // 增加失败处理
}
// 重定向回上一页
return redirect()->back();
}
}
代码解释:
会译·对照式翻译
会译是一款AI智能翻译浏览器插件,支持多语种对照式翻译
79
查看详情
为了让用户看到操作成功的反馈,需要在视图文件中合适的位置添加代码来检查并显示会话中闪存的消息。
在table_edit.blade.php文件中的任意位置(通常是页面顶部或内容区域上方),添加以下代码:
<!-- table_edit.blade.php -->
@if(session()->has('success'))
<div class="alert alert-success">
<p>{{ session()->get('success') }}</p>
</div>
@endif
@if(session()->has('error'))
<div class="alert alert-danger">
<p>{{ session()->get('error') }}</p>
</div>
@endif
<!-- 其他页面内容 -->
<tbody>
@foreach($data as $row)
<tr>
<td>
<a href="#" class="btn btn-info" target="blank"><i class="fa fa-pencil"></i></a>
<a href="{{ url('delete/' . $row->ProdusID) }}" class="btn btn-danger" target="_self"><i class="fa fa-trash"></i></a>
</td>
</tr>
@endforeach
</tbody>代码解释:
路由配置保持不变,但为了完整性,再次展示:
// web.php
/*tabledit*/
Route::get('tabledit', 'TableditControllerRolete@index');
Route::get('delete/{id}','TableditControllerRolete@destroy');尽管上述方法能够有效解决问题,但在实际项目中,还有一些更健壮和推荐的做法:
使用正确的HTTP动词:
<!-- 在Blade视图中 -->
<form action="{{ route('item.destroy', $row->ProdusID) }}" method="POST" style="display:inline;">
@csrf
@method('DELETE')
<button type="submit" class="btn btn-danger" onclick="return confirm('确定要删除此项吗?');">
<i class="fa fa-trash"></i>
</button>
</form>对应的路由:
// web.php
Route::delete('items/{id}', 'TableditControllerRolete@destroy')->name('item.destroy');使用Eloquent ORM:
对于基于Lar*el的项目,强烈推荐使用Eloquent ORM来操作数据库,而不是直接使用DB门面。Eloquent提供了更简洁、更面向对象的方式来处理数据。
如果Rolete是一个Eloquent模型,删除操作可以简化为:
use App\Models\Rolete; // 假设你的模型在 App\Models 命名空间下
public function destroy($id)
{
$deleted = Rolete::destroy($id); // Eloquent 的删除方法
if ($deleted) {
session()->flash('success', '记录删除成功!');
} else {
session()->flash('error', '记录删除失败或未找到。');
}
return redirect()->back();
}命名路由:
用户确认:
通过在Lar*el控制器中结合session()->flash()和redirect()->back(),我们可以轻松地实现数据删除后自动返回上一页,并向用户提供清晰的操作反馈。同时,遵循RESTful原则、使用Eloquent ORM和命名路由等最佳实践,将使你的Lar*el应用更加健壮、易于维护。
以上就是Lar*el控制器中实现删除操作后自动返回上一页的指南的详细内容,更多请关注php中文网其它相关文章!
# javascript
# laravel
# java
# html
# php
# 而不是
# 苏州大型网站建设公司
# 花都电商口碑营销推广
# 静态网站建设流程是什么
# 柴桑区网站建设
# 网站优化方案英语作文
# 河北推广营销策划要求
# 这是
# 是一个
# 怎么看
# 解决问题
# 面向对象
# 用户提供
# 器中
# 重定向
# 上一页
# sess
# app
# 浏览器
# ajax
# bootstrap
# 义马网站建设哪家好
# 华强北网站推广营销
# 麒麟seo软件破解
# 余江网站优化公司电话
相关栏目:
【
Google疑问12 】
【
Facebook疑问10 】
【
优化推广96088 】
【
技术知识133117 】
【
IDC资讯59369 】
【
网络运营7196 】
【
IT资讯61894 】
相关推荐:
CSS绝对定位与溢出控制:实现背景元素局部显示不触发滚动条
《下一站江湖2》独孤剑诀习得方法
发博客与长微博技巧
word表格如何按某一列内容进行排序_Word表格按列排序方法
yy漫画登录页面官方入口_yy漫画在线阅读网址入口
12306夜间购票失败? | 查看官方公布的暂停服务公告与应对方案
《书耽》更换手机号方法
PPT页面尺寸怎么修改 PPT自定义幻灯片大小与方向设置【教程】
稻壳阅读器官方直达网址链接 稻壳阅读器文档阅读平台主页资源入口
解决Windows上Composer PATH变量冲突导致的命令无法识别问题
Highcharts雷达图径向轴数值标签实现教程
《异星探险家》古怪的物品作用介绍
鸿蒙单条备忘录如何加密
QQ网页版入口导航 QQ网页版在线访问通道
优化Leaflet弹出层图片显示:条件渲染策略
抖音手机分身两个账号怎么切换?分身两个系统是一样的吗?
win11怎么设置默认终端为Windows Terminal Win11替代CMD和PowerShell【技巧】
PyEZ 配置提交中 RpcTimeoutError 的健壮性处理策略
firefox火狐浏览器最新官网主页_ firefox火狐浏览器平台入口直达官方链接
《知到》打卡课程方法
多闪APP官方下载安装入口_多闪最新版本获取入口
如何使用CSS Grid实现“大方块左侧,小方块右侧垂直堆叠”的水平布局
盲鳗善于分泌黏液猜猜主要用来做什么
b站如何剪辑视频_b站必剪app使用教程
海外搜索引擎推广效果怎么样,怎么分析效果!
《理想汽车》权限管理设置方法
漫蛙manwa2网页版书签同步链接_漫蛙manwa多设备登录入口
Go Template中优雅处理循环最后一项:自定义函数实践
mysql中如何分析索引使用情况_mysql索引使用分析方法
天天漫画2025最新入口 天天漫画永久有效登录入口
小红书如何引流到私信?引流到私信有用吗?
iPhone16Plus参数配置如何调整声音_iPhone16Plus参数配置声音调整详细方法
知音漫客官网首页入口_知音漫客热门漫画推荐
快手网页版官方访问 快手网页版页面在线打开
Python定时发送QQ消息
VS Code如何设置默认配置
《领英》查看屏蔽名单方法
使用Google服务账号实现Google Drive API无缝集成与文件访问
解决PHP MySQL数据库更新无响应:SQL查询语法错误解析
支付宝登录刷脸不是本人如何解决
网易云音乐闹钟铃声设置教程
Google Drive API服务器端访问指南:服务账户认证详解
《U校园》学生登录入口2025
微信步数怎么刷_微信步数快速提升技巧
苹果自助维修计划支持哪些设备机型
京东物流快递破损了怎么办_京东快递破损理赔流程
嘴唇干裂起皮怎么办 唇部护理与预防干裂的方法【详解】
易车网官网直达入口 易车网在线登录入口
学习通网页版课程打不开_课程无法访问时的解决方法
如何在mysql中使用索引提示_mysql索引提示优化方法
2025-11-20
运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。