laravel - laravel 5.8 如何在 laravel 控制器中使用 if 和 else if 函数
问题描述
在 laravel 5.8 中,我试图在用户表状态列中传递更新的值,默认值为“PENDING”,如果我使用 update.blade.php 表单在“status”列中传递值“APPROVED”,
DB::table('users')->where('id', $id)->increment('wallet', '1000' );
这段代码不需要工作。
否则我使用 update.blade.php 表单在“状态”列中传递值“拒绝”,这次是这段代码
DB::table('users')->where('id', $id)->increment('wallete', '1000' );
应该可以在用户表“钱包”列中存储值“1000”
如何在 laravel 5.8 控制器中使用 if、if else、else if 创建此逻辑查询
public function pan_status_update(Request $request, $id)
{
$pan_status_update = Pan::where('status','=','PENDING')->find($id);
$pan_status_update['status'] = $request->status;
$pan_status_update['manager_id'] = Auth::user()->id;
DB::table('users')->where('id', $id)->increment('wallete', '1000' );
$pan_status_update->save();
return redirect('Pan_request')->with('success','UPDATED SUCCESSFULLY .',);
}
解决方案
在这里,试试这个,它只会在状态设置为拒绝时更新,
public function pan_status_update(Request $request, $id)
{
$pan_status_update = Pan::where('id', $id)
->where('status', 'pending')
->first();
if(!$pan_status_update){
return redirect()->back()->withStatus('Not Found');
}
if($request->status == 'Approved'){
//shouldn't work
}elseif($request->status == 'Rejected'){
DB::table('users')->where('id', $id)->increment('wallet', '1000' );
}else{
return redirect()->back();
}
return redirect('Pan_request')->with('success','UPDATED SUCCESSFULLY .',);
推荐阅读
- c# - 从数据库中获取日期并在 C# 中格式化
- selenium - 如何使用 selenium 在页面源中验证特定脚本?
- reactjs - InstantSearch 和服务器端渲染:staticContext 未定义
- typescript - FormArray:无法读取打字稿中未定义的属性“推送”
- android - Android 工作管理器 - ExistingPeriodicWorkPolicy.KEEP 和 .Replace 之间的区别
- javascript - 预期有一个条件“匹配 URL”的匹配请求 - 未找到 - Angular2+
- android - Android Oreo JobIntentService 在 Android 7 及以下版本中继续在后台运行,在 Android 8 及以上版本中经常崩溃
- dart - 如何通过组件在 AngularDart 应用程序中显示 HTML 片段?
- java - Spring ApplicationContext.close() 不会关闭应用程序
- java - 如何将 JUnit 测试重定向到 Eclipse 中的控制台?